如何在android中实现imagebutton的透明度

如何在android中实现imagebutton的透明度,android,imagebutton,Android,Imagebutton,我希望imagebutton在屏幕上透明显示,因此我在XML文件中设置了android:background=“@null”,因此它删除了imagebutton周围的灰色边框。这解决了我的问题,但当我单击imagebutton时,它没有显示任何背景颜色。但我需要一些背景色来显示在点击。所以我添加了android:padding=“3dp”。它删除了侧面的边界,但没有删除顶部的边界 <ImageButton android:id="@+id/btnphoto" android:lay

我希望imagebutton在屏幕上透明显示,因此我在XML文件中设置了android:background=“@null”,因此它删除了imagebutton周围的灰色边框。这解决了我的问题,但当我单击imagebutton时,它没有显示任何背景颜色。但我需要一些背景色来显示在点击。所以我添加了android:padding=“3dp”。它删除了侧面的边界,但没有删除顶部的边界

<ImageButton  
android:id="@+id/btnphoto"  
android:layout_width="wrap_content"  
android:layout_height="wrap_content"  
android:src="@drawable/photo"  
android:layout_x="4px"  
android:layout_y="370px"  
android:padding="3dp" /> 

请帮帮我。

提前感谢。

若要更改状态更改的视图方面(单击、按、聚焦等),您可以使用as
android:background
。也可能有用

显示了如何使用的一个很好的示例

android:background="@android:color/transparent"
或者,如果您只需要一些透明度,可以使用alpha通道进行控制

差不多

android:background="#7F000000"

将是部分透明的黑色。

您可以尝试使用XML中的图像或形状制作custum按钮背景

例如,此形状使一个按钮状态中的颜色是透明的,因为它们是ARGB类型

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid
        android:color="#EB363636" />
    <corners
        android:bottomRightRadius="7dp"
        android:bottomLeftRadius="7dp"
        android:topLeftRadius="7dp"
        android:topRightRadius="7dp" />
    <stroke
        android:width="2dip"
        android:color="#D1000000" />
</shape>

然后,您可以组合多个形状/图像,使按钮对不同的状态作出反应:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true">

    <item 
        android:state_window_focused="false"
        android:drawable="@android:color/transparent" />
    <item 
        android:state_pressed="true"
        android:drawable="@layout/shape_btn"/>
    <item 
        android:state_focused="true"
        android:drawable="@layout/shape_btn"/>
    <item
        android:drawable="@android:color/transparent"/>

</selector>

制作选择器后,您可以使用
android:background=“选择器文件名”