使按钮的背景透明使其无法点击

时间:2013-11-15 21:34:58

标签: android button onclick

我有一个响应点击的按钮,直到我让它变得透明。我不知道什么可能出错。具有透明背景的所有其他按钮响应点击。这是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>

我会重复以防万一:如果我删除该行,该按钮会起作用&#34; android:background =&#34; @android:color / transparent&#34;&#34;

3 个答案:

答案 0 :(得分:1)

尝试向该按钮添加一些实际高度,如30dp,该按钮没有任何文本,因此wrap_content可能会使其太小。

答案 1 :(得分:0)

如果上述答案不起作用,并且您想要快速修复,请使用透明图像,而不是透明色。

答案 2 :(得分:0)

我删除了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();

        }
    });

我正在使用Android 4.3 - API Level 18

您使用的目标级别是什么?