我有一个按钮,可以很好地响应点击,直到我让它透明。我不知道会出什么问题。所有其他具有透明背景的按钮都会响应单击。这是xml,有问题的按钮是id:door_handle:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/wall4EarthRoom"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/door_wall" >
<Button
android:id="@+id/hanging_walk"
android:layout_width="80dp"
android:layout_height="200dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="268dp"
android:layout_marginTop="49dp"
android:background="@android:color/transparent"
android:clickable="false"
android:onClick="goOut" />
<Button
android:id="@+id/door_handle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="279dp"
android:layout_marginTop="136dp"
android:onClick="openTheDoor"
android:background="@android:color/transparent"/>
<Button
android:id="@+id/peephole_doorwall"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="289dp"
android:layout_marginTop="127dp"
android:background="@android:color/transparent"
android:clickable="false"
android:onClick="zoomImage" />
<ImageView
android:id="@+id/queen_rabbit"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
我会重复以防万一:如果我删除"android:background="@android:color/transparent"一行,该按钮就会起作用
尝试为该按钮添加一些实际高度,例如 30dp,该按钮没有任何文本wrap_content因此可能会使其太小。
如果上述答案不起作用,并且您想要快速修复,请使用透明图像,而不是透明颜色。
我删除了 xml 中door_handle按钮的 onClick 事件并创建了这个。它对我有用。
btn1 = (Button)findViewById(R.id.door_handle);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "door handle", Toast.LENGTH_SHORT).show();
}
});
我正在使用安卓 4.3 - API 级别 18
您使用什么目标级别?