Bu uygulamada neyin yanlış olduğunu söyleyen var mı? Burada yapmak istediğim, ekrana dokunduğunuzda yerleri değiştiren iki örtüşen görünüme sahip. Yanlış kullanmıyorsam, View.bringToFront() hiçbir şey yapmıyor mu?Android: iki örtüşen görünümün yerini değiştirme
Uygulamamdaki bütün kodlar aşağıdadır. İkisinin de gerçekten çakıştığından emin olmak için 'backView' öğesine dolgu eklediğimi unutmayın. Gerçekten de ekranda görebiliyordum. Üst görünüme dokunmak gerçekten de onClick yöntemini tetiklerken, hiçbir şey bringToFront çağrılarına yanıt olarak gözle görülür biçimde değişmez.
public class MainActivity extends Activity implements OnClickListener {
private ImageView frontView;
private ImageView backView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
frontView = (ImageView) findViewById(com.example.R.id.FrontView);
backView = (ImageView) findViewById(com.example.R.id.BackView);
frontView.setOnClickListener(this);
backView.setOnClickListener(this);
backView.setPadding(10,0,0,0);
}
private boolean flag;
public void onClick(View v) {
if (!flag) {
backView.bringToFront();
}
else {
frontView.bringToFront();
}
flag = !flag;
}
}
ve ilgili düzen:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/FrontView"
android:src="@drawable/front"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/BackView"
android:src="@drawable/back"
/>
</RelativeLayout>
Belki de düzen
kullanıyorum ki? Emin değilim ... FrameLayout ve LinearLayout da denedim.
AbsoluteLayout'u kullanmak istediğim sonuçları bana veriyor gibi görünüyor ... ama bu sınıf aslında kullanımdan kaldırıldı olarak işaretlendi. "Neden bu denen şey, neden kullanılmıyor?" Diye sormaya çalışacağım. ve sadece "Bunu yapmak için meşru bir yol var mı?" – Cruinh