如何拥有一个透明的 ImageButton: Android

<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 就会在项目中给我一个错误。

请帮帮我。

322220 次浏览

尝试使用null作为背景…

android:background="@null"

删除这一行:

android:background="@drawable/transparent">

在你的活动课集中

ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);

可以将alpha级别0设置为255

O表示透明,255表示不透明。

你也可以使用透明的颜色:

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

我对ImageButton使用了透明的pngImageButton工作。

在运行时,可以使用以下代码

btn.setBackgroundDrawable(null);

使用# EYZ0……它默认有透明的背景…

背景设置为"@null"将使按钮在单击时没有效果。这将是更好的选择。

style="?android:attr/borderlessButtonStyle"

后来我发现这很有用

android:background="?android:attr/selectableItemBackground"

也是一个很好的解决方案。你可以用你自己的风格继承这个属性。

不要使用透明或空布局,因为这样按钮(或通用视图)在点击时将不再突出显示!!

我也有同样的问题,最后我从Android API找到了正确的属性来解决这个问题。它可以应用于任何视图。

在按钮规范中使用这个:

android:background="?android:selectableItemBackground"

以编程方式可以通过:

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

# EYZ0

android:background="#00000000"

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

用这个:

<ImageButton
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:padding="10dp"
android:src="@drawable/backbtn" />

这是通过编程将背景颜色设置为透明

 ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
btn.setBackgroundColor(Color.TRANSPARENT);

我认为公认的答案应该是: android:背景= " ?attr / selectableItemBackground” < /代码> < / p >

这与@lory105的答案相同,但它使用了最大兼容性的支持库(android:等效只适用于API >= 11)

将ImageButton的背景设置为XML中的@null

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

使用“@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" />

这是# EYZ0

<ImageButton
android:id="@+id/imageButton"
android:src="@android:drawable/ic_menu_delete"
android:background="@android:color/transparent"
/>

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

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

(Android Studio 3.4.1)

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

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

如果你需要一个点击动画,不要使用空或透明。好:

//Rectangular click animation
android:background="?attr/selectableItemBackground"


//Rounded click animation
android:background="?attr/selectableItemBackgroundBorderless"

你可以使用下面的代码通过设置背景为透明工作:

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

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

android:backgroundTintMode="screen"

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

android:background="@null"

这是一个编程的例子

yourButton.setBackgroundResource(0);