Как получить ImageView Вывести на фронт на сенсорное событие ImageView?

1

У меня два ImageView в двух разных макетах: One ImageView находится в другом ImageView и я использую RelativeLayout и оба размера ImageView - это Wrap Content. Но проблема в том, что если я Imageview2 на ImageView2 чтобы изображение Imageview2 отображалось на Imageview1 и если я нажмите на ImageView1 чтобы изображение Imageview1 отображалось на Imageview2 Я использую метод " Imageview2 но это не работает. Извините за плохое английское общение. Пожалуйста помогите.

Заранее спасибо

Ниже приведен мой код.

Main.xml: -

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <RelativeLayout android:layout_width="fill_parent" android:id="@+id/mRlayout1"
        android:layout_height="fill_parent">
        <ImageView android:layout_width="wrap_content"
            android:scaleType="matrix" android:layout_height="wrap_content"
            android:id="@+id/mImageView1" android:src="@drawable/icon1" />
    </RelativeLayout>
    <RelativeLayout android:layout_width="fill_parent" android:id="@+id/mRlayout2"
        android:layout_height="fill_parent" >
        <ImageView android:layout_width="wrap_content"
            android:scaleType="matrix" android:layout_height="wrap_content"
            android:id="@+id/mImageView2" android:src="@drawable/icon" />
    </RelativeLayout>
</RelativeLayout>

Java файл: -

public class BodyTemp extends Activity {
    ImageView mImageView1, mImageView2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mImageView1 = (ImageView) findViewById(R.id.mImageView1);
        mImageView1.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                mImageView1.bringToFront();
                return true;
            }
        });
        mImageView2 = (ImageView) findViewById(R.id.mImageView2);
        mImageView2.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                mImageView2.bringToFront();
                return true;
            }
        });
    }
}
  • 1
    Можете ли вы уточнить, с рисунком в Mspaint? чтобы мы могли лучше понять и решить
  • 0
    Привет ник, я отредактировал свой вопрос и поставил код.
Показать ещё 4 комментария
Теги:
android-imageview

2 ответа

4

Вы можете принести фоновый вид над щелчком. Приведите mImageView2 вперед, когда вы mImageView1 на mImageView1 и наоборот.

 mImageView2 = (ImageView) findViewById(R.id.mImageView2);
mImageView1.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            mImageView2.bringToFront();
            return true;
        }
    });
    mImageView2.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            mImageView1.bringToFront();
            return true;
        }
    });

Также измените макет. Поместите изображения в единое релятивирование. В противном случае bringToFront не будет работать.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">

    <ImageView android:layout_width="wrap_content"
        android:scaleType="matrix" android:layout_height="wrap_content"
        android:id="@+id/mImageView1" android:src="@drawable/icon1" />

    <ImageView android:layout_width="wrap_content"
        android:scaleType="matrix" android:layout_height="wrap_content"
        android:id="@+id/mImageView2" android:src="@drawable/icon" />
</RelativeLayout>
  • 0
    Я использовал этот код, но этот код не работает, если у вас есть другой ответ или ссылка, пожалуйста, дайте мне.
  • 0
    Я думаю, что вы очень близки к этому с этим кодом. Попробуйте.
Показать ещё 2 комментария
1

Используйте FrameLayout вместо RelativeLayout. И установите widht и высоту изображения в match_parent. Я уверен, что это сработает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню