<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@drawable/transparent"></ImageButton>

这是我试图获得一个透明的ImageButton,以便将这些按钮放在SurfaceView上。但是当我在xml中包含透明行时,Eclipse会在项目中给我一个错误。

请帮助。


当前回答

我已经在背景中添加了一些东西,这个东西对我有用:

   android:backgroundTint="@android:color/transparent"

(Android Studio 3.4.1)

编辑:只适用于android api级别21及以上。为了兼容性,请使用此选项

   android:background="@android:color/transparent"

其他回答

最好的方法是使用透明的颜色代码

android:background="#00000000"

使用颜色代码#00000000使任何东西透明

如果你想在.xml文件中使用下面的代码:

android:background="@null"

这是一个编程的例子

yourButton.setBackgroundResource(0);

使用“@null”。这对我很管用。

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/bkash"
    android:id="@+id/bid1"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:background="@null" />

在编程上,它可以通过:

image_button.setAlpha(0f) // to make it full transparent
image_button.setAlpha(0.5f) // to make it half transparent
image_button.setAlpha(0.6f) // to make it (40%) transparent
image_button.setAlpha(1f) // to make it opaque

它工作,也保持按钮点击的视觉反馈,

android:backgroundTintMode="screen"