如何在framelayout中设置onclick =“false”?

时间:2016-02-17 07:41:56

标签: java android

我有一个包含Imageviews的frameLayout, 这是xml:       

        <ImageView
            android:id="@+id/inquiries_treatmentImg"
            android:layout_width="match_parent"
            android:layout_height="170dp"
            android:background="@drawable/mycontactings12"/>


        <ImageView
            android:id="@+id/newsImg"
            android:layout_width="match_parent"
            android:layout_height="170dp"
            android:layout_marginTop="100dp"
            android:background="@drawable/newsanduupdate"/>


        <ImageView
            android:id="@+id/createReportImg"
            android:layout_width="match_parent"
            android:layout_height="170dp"
            android:layout_marginTop="200dp"

            android:background="@drawable/createreport"/>

        <ImageView
            android:id="@+id/empty"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="300dp"

            android:clickable="false"
            android:background="@color/orange" />



</FrameLayout>

3个imageViews有onClick功能, 我希望当用户点击第四个imageView时,第三个的Onclick功能没有点击,

imageViews需要像这样:

有人有办法做到这一点吗? enter image description here

谢谢你!

1 个答案:

答案 0 :(得分:0)

问题是您的图片视图都是重叠的。

试试这个:

        <ImageView
            android:id="@+id/inquiries_treatmentImg"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:background="@drawable/mycontactings12"/>


        <ImageView
            android:id="@+id/newsImg"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="100dp"
            android:background="@drawable/newsanduupdate"/>


        <ImageView
            android:id="@+id/createReportImg"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="200dp"

            android:background="@drawable/createreport"/>

        <ImageView
            android:id="@+id/empty"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="300dp"
            android:clickable="false"
            android:background="@color/orange" />

希望这就是你所需要的。

已修改

好的,我想我找到了工作

为最后一个imageView设置onTouch()侦听器并使用它。

在你的onCreate()中:

@Override
protected void onCreate(Bundle savedInstanceState) {

    // Your codes ...

    ImageView imageViewEmpty = (ImageView) findViewById(R.id.empty);
    imageViewEmpty.setOnTouchListener(new View.OnTouchListener() {
         @Override
         public boolean onTouch(View v, MotionEvent event) {
              return true; // Consume the event!
         }
    });
}

这应该可以解决问题!