How to disable behind view click event Framelayout

前端 未结 9 1313
遥遥无期
遥遥无期 2020-12-04 20:53

Here i have one view pager activity which has one imageview and 2 overlay bars. there overlay bars i made using android xml file layout itself.

Here my requirement i

相关标签:
9条回答
  • 2020-12-04 21:24
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout android:id="@+id/llSettings"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:background="#ff106279"
        android:minHeight="25px"
        android:minWidth="25px"
        android:onClick="click"
        android:orientation="vertical"
        android:visibility="visible">
    
        <LinearLayout
            android:id="@+id/llSettings1"
            android:layout_width="200dp"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:background="#ff000f"
            android:clickable="true"
            android:minHeight="25px"
            android:minWidth="25px"
            android:orientation="vertical"
            android:visibility="visible">
    
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:onClick="buttonclick"
                android:text="New Button" />
        </LinearLayout>
    </RelativeLayout>
    

    and

    public void click(View v) {
        Toast.makeText(this, "((RelativeLayout)v).toString()", Toast.LENGTH_SHORT).show();
    }
    
    public void buttonclick(View v) {
        Toast.makeText(this, "Button", Toast.LENGTH_SHORT).show();
    }
    
    0 讨论(0)
  • 2020-12-04 21:26
     imageView.setSingleTapListener(new OnImageViewTouchSingleTapListener() {
                        @Override
                        public void onSingleTapConfirmed() {
                            Log.d("TAG", "setSingleTapListener");
    
                            sCounter++;
                            if (sCounter % 2 == 0) {
                                mRlTopOverlayBar.setVisibility(View.GONE);
                                mRlBottomOverlayBar.setVisibility(View.GONE);
                                pager.requestFocus();
                            } else {
                                mRlTopOverlayBar.setVisibility(View.VISIBLE);
                                mRlBottomOverlayBar.setVisibility(View.VISIBLE);
                                mRlTopOverlayBar.requestFocus();
                                mRlBottomOverlayBar.requestFocus();
                                mRlBottomOverlayBar.setClickable(true);
                                mRlTopOverlayBar.setClickable(true);
                            }
                        }
                    });
    
    0 讨论(0)
  • 2020-12-04 21:30

    Add android:clickable="true" to rl_bottom_overlay and rl_top_overlay. If you don´t set click events to these layouts (nor via XML neither programatically), no events will be triggered on background views.

    0 讨论(0)
提交回复
热议问题