我有一颗纽扣。当我按下按钮时,我必须将文本设置为粗体,否则就是正常的。所以我写了一些粗体和普通的样式。
<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 as:
<?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>
在此按钮的布局中,我必须将背景设置为透明的too...How。我会这样做吗?我的布局代码是:
<Button android:id="@+id/Btn" android:background="@drawable/button_states" />
如何在我的风格中包含透明的背景?
发布于 2011-02-10 14:56:53
要使背景透明,只需执行android:background="@android:color/transparent"
即可。
然而,您的问题似乎更深,因为您正在以一种非常奇怪的方式使用选择器。你使用它的方式似乎是错误的,尽管如果它真的起作用了,你应该把背景图片作为<item/>
放在样式中。
仔细看看Android源代码中的样式是如何使用的。虽然它们不会在单击按钮时更改文本样式,但还是有很多关于如何实现目标的好主意。
发布于 2014-10-17 16:28:06
您还可以在xml中使用:
android:background="@null"
或者在代码中:
buttonVariable.setBackgroundColor(Color.TRANSPARENT);
发布于 2011-02-10 15:07:08
使用#0000
(只有四个零,否则将被认为是black
)这是透明的颜色代码。您可以直接使用它,但我建议您在color.xml中定义一种颜色,这样您就可以享受代码的重用。
https://stackoverflow.com/questions/4954102
复制相似问题