作为透明的button背景

我有一个button。 当我按下button,我必须使文本为粗体,否则正常。 所以我写了大胆和正常的风格。

<style name="textbold" parent="@android:style/TextAppearance"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:textStyle">bold</item> </style> <style name="textregular" parent="@android:style/TextAppearance"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:textStyle">normal</item> </style> 

现在我有一个button_states.xml为:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="true" style="@style/textbold" /> <item android:state_focused="false" android:state_pressed="true" style="@style/textregular" /> <item style="@style/textregular" /> </selector> 

在我的这个button的布局,我必须使背景也是透明的…我怎么做呢? 我的布局代码是:

 <Button android:id="@+id/Btn" android:background="@drawable/button_states" /> 

我如何将背景包含在我的风格中是透明的?

要使背景透明,只需执行android:background="@android:color/transparent"

然而,你的问题似乎有点深刻,因为你使用select器的方式非常奇怪。 你使用它的方式似乎是错误的,虽然如果它实际上工作,你应该把背景图像作为一个<item/>的风格。

仔细看一下Android源代码中如何使用样式。 虽然他们没有改变点击button的文本样式,但是关于如何在那里完成你的目标有很多好的想法。

尝试新的方式来设置背景透明

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

使用#0000 (只有四个零,否则将被视为black )这是透明的颜色代码。 你可以直接使用它,但我build议你在color.xml中定义一个颜色,这样你就可以享受代码的重用了。

你也可以使用:在你的xml中:

 android:background="@null" 

或在代码中:

 buttonVariable.setBackgroundColor(Color.TRANSPARENT); 

添加这个在你的Xmlandroid:background="@android:color/transparent"

  <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="Button" android:background="@android:color/transparent" android:textStyle="bold"/> 

我用了

 btn.setBackgroundColor(Color.TRANSPARENT); 

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

你可以通过设置颜色alpha通道来实现。

配色scheme如下#AARRGGBB A代表alpha通道(透明),R代表红色,G代表绿色,B代表蓝色。

点击button时,将背景颜色应用为transparent(light gray)

 ButtonName.setOnClickListener() 

在上面的方法中,您可以设置button的背景颜色。

码:

 button.setVisibility(View.INVISIBLE); 

XML:

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