Android 台灣中文網

標題: android imageview setOnTouchListener [打印本頁]

作者: deenya    時間: 2013-5-3 14:13
標題: android imageview setOnTouchListener
我想請問,我有兩個imageview,當我兩個個別使用touch事件時,都會試第2各imageview有行為
例如
test = (ImageView) findViewById(R.id.aIma);
test.setOnTouchListener(new View.OnTouchListener() {}

test1 = (ImageView) findViewById(R.id.bIma);
test1.setOnTouchListener(new View.OnTouchListener() {}

當我點test,有行為的卻是test1
請問我該怎做
請各位指導,謝謝

作者: clotai    時間: 2013-5-4 17:44
把你的 Layout xml post 上來. 這樣沒辦法知道你問題.
我猜你 test1 直接蓋到 test  了.
所以你 touch event 都被 test1 消耗掉了.
作者: deenya    時間: 2013-5-6 10:44
clotai 發表於 2013-5-4 17:44
把你的 Layout xml post 上來. 這樣沒辦法知道你問題.
我猜你 test1 直接蓋到 test  了.
所以你 touch even ...

   附上xml代碼
   <FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
                                       >

        <ImageView
            android:id="@+id/aIma"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.41"
            android:scaleType="matrix"
            android:src="@drawable/a"
            android:paddingLeft="10dp"
            android:paddingTop="5dp"
            android:paddingRight="10dp"
              />

        <ImageView
            android:id="@+id/bIma"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.66"
            android:scaleType="matrix"
            android:src="@drawable/b"
             android:paddingLeft="100dp"
            android:paddingTop="5dp"
            android:paddingRight="10dp"
            />


    </FrameLayout>

作者: clotai    時間: 2013-5-6 10:49
deenya 發表於 2013-5-6 10:44
附上xml代碼

android:paddingLeft="100dp" 你這個是打錯嗎?

作者: deenya    時間: 2013-5-6 11:36
clotai 發表於 2013-5-6 10:49
android:paddingLeft="100dp" 你這個是打錯嗎?

沒有打錯
我只是要離左邊開一點
作者: clotai    時間: 2013-5-6 11:47
你這邊不能使用 FrameLayout, 你的 第二個 image 覆蓋到第一個 image 了,
下面這 layout file 你測一下.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/aIma"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.41"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="5dp"
        android:scaleType="matrix"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/bIma"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.66"
        android:paddingLeft="50dp"
        android:paddingRight="10dp"
        android:paddingTop="5dp"
        android:scaleType="matrix"
        android:src="@drawable/ic_launcher" />

</LinearLayout>
作者: clotai    時間: 2013-5-6 11:48
deenya 發表於 2013-5-6 11:36
沒有打錯
我只是要離左邊開一點

把 FrameLayout 改用 LinearLayout, 這問題就可以解決.
你的 第二個 Image 覆蓋到第一個 Image 了.
作者: deenya    時間: 2013-5-6 14:28
clotai 發表於 2013-5-6 11:48
把 FrameLayout 改用 LinearLayout, 這問題就可以解決.
你的 第二個 Image 覆蓋到第一個 Image 了. ...

喔喔~~了解
謝謝你的協助





歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1