如何将按钮背景设置为透明?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (57)

我有个按钮。当我按下按钮时,我必须将文本改为粗体,否则是正常的。所以我写了粗体和普通的样式。

<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>

现在我有了一个按钮_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 android:id="@+id/Btn" android:background="@drawable/button_states" />

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

提问于
用户回答回答于

尝试设置背景透明的新方法

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

用户回答回答于

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

但是,您的问题似乎更深一些,因为您正在以一种非常奇怪的方式使用选择器。您应该把背景图像作为一个<item/>

仔细看看Android源代码中的样式是如何使用的。虽然它们不会改变点击按钮的文本样式。

扫码关注云+社区