在附带的屏幕截图中,活动周围的灰色区域是半透明的,并且活动显示为以下xml。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@color/candidate_normal" android:scrollX="-100dp"
android:scrollY="-100dp" android:onClick="backgrndListner">
<LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/overlay1" android:clickable="false">
<LinearLayout android:layout_width="1100dp" android:layout_height="wrap_content" android:orientation="horizontal">
<ImageButton android:id="@+id/homeButton" android:src="@drawable/home" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:clickable="true"/>
<LinearLayout android:layout_width="1100dp" android:layout_height="wrap_content" android:orientation="horizontal">
<TextView android:textSize="18dp" android:text="Header" android:editable="true" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/headerInfo" android:layout_marginLeft="25dp"
android:layout_marginTop="2dp"/>
<TextView android:id="@+id/yellowCardItem" android:textSize="30dp" android:textStyle="bold"
android:text="Yellow Card Item" android:layout_marginTop="25dp" android:layout_marginLeft="300dp"
android:layout_height="wrap_content" android:layout_width="wrap_content" android:gravity="center_horizontal"/>
</LinearLayout>
<ImageButton android:id="@+id/statusComplete" android:src="@drawable/notification_done_red" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_gravity="right|top"/>
</LinearLayout>
<LinearLayout android:layout_width="1100dp" android:layout_height="wrap_content" android:orientation="vertical">
<TextView android:id="@+id/yellowCardDescription" android:textSize="20dp" android:padding="30dp"
android:layout_marginLeft="50dp" android:layout_marginRight="50dp"
android:layout_width="wrap_content" android:layout_height="300dp" android:gravity="center_horizontal"
android:text="Description should come here" android:textColor="#FF0000"/>
</LinearLayout>
<LinearLayout android:id="@+id/mediaItems" android:layout_width="match_parent" android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_marginLeft="200dp">
</LinearLayout>
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_marginTop="10dp">
<ImageButton android:id="@+id/share" android:src="@drawable/share" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:clickable="true" android:layout_gravity="right|top" android:layout_marginLeft="1185dp"/>
</LinearLayout>
</LinearLayout>
我面临的问题是每当我触摸白色区域(活动存在的地方)时,它会感应到 backgrndListner ,我只想要灰色区域(以红色突出显示) 。我只想激活白色活动区域外的区域以获得完整的屏幕。
任何帮助都会非常感激。
YOUT&GT;
答案 0 :(得分:1)
我认为您需要阻止内部视图传播触摸事件。因此,您可以尝试将ID添加到第二个LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@color/candidate_normal" android:scrollX="-100dp"
android:scrollY="-100dp" android:onClick="backgrndListner">
<LinearLayout android:id="@+id/ignorebox" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/overlay1" android:clickable="false">
然后在你的onCreate
中试试这个:
findViewById(R.id.ignorebox).setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){ return true; }
});