我正在尝试将应用中我的按钮的所有TextColor更改为白色,并尝试将其设置为粗体。但这没有发生,我正在覆盖the android:Widget.Button
我正在为Jelly Bean 4.1.2开发
我做错了什么?
清单中的主题定义
android:theme="@style/spui" >
我喜欢的主题
<style name="spui" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:buttonStyle">@style/Buttonspui</item>
</style>
按钮本身的样式
<style name="Buttonspui" parent="android:Widget.Button">
<item name="android:background">@drawable/btn_default_holo_light</item>
<item name="android:minHeight">48dip</item>
<item name="android:minWidth">64dip</item>
<item name="android:textColor">#ffffff</item>
<item name="android:textStyle">bold</item>
</style>
按钮
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="@string/edit"
android:id="@+id/btnEdit"
style="@style/Buttonspui"/>
答案 0 :(得分:16)
为了对Button
进行样式设置,您可以使用此功能:
转到drawable
文件夹并制作一个名为“style”的XML(例如button.xml
)文件,其中包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient android:startColor="#449def" android:endColor="#2f6699" android:angle="270" />
<stroke android:width="1px" android:color="#000000" />
<corners android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp"/>
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
</shape>
</item>
</selector>
这是我的代码,您可以进行所需的必要更改
现在在您的布局XML(mainactivity.xml
)中调用它,就像这样
android:background="@drawable/button.xml"
现在要更改字体颜色和样式,您可以使用以下内容作为值文件夹中styles.xml
的一部分
<style name="buttonStyle" parent="@android:style/Widget.Button.Small">
<item name="android:textColor">#FFFFFF</item>
<item name="android:textSize">12sp</item>
<item name="android:textStyle">bold</item>
</style>
现在在布局XML(mainactivity.xml
)中调用它,就像这样
style="@style/buttonStyle"
最终代码是:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="@string/edit"
android:id="@+id/btnEdit"
android:background="@drawable/button.xml"
style="@style/buttonStyle"
/>
希望这会有所帮助:)
答案 1 :(得分:0)
这将更改整个应用程序的默认按钮样式,包括警报对话框按钮。根据您的风格进行调整。
res / values / styles.xml
<resources>
<!-- Your base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Other styles -->
<item name="buttonStyle">@style/MyCustomButton</item>
</style>
<style name="MyCustomButton" parent="Widget.AppCompat.Button">
<item name="android:background">@drawable/selector_button</item>
<item name="android:textColor">@color/buttonText</item>
<item name="android:textStyle">bold</item>
<item name="android:paddingLeft">16dp</item>
<item name="android:paddingRight">16dp</item>
</style>
</resources>
res / drawable / selector_button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_selected" android:state_pressed="true"/>
<item android:drawable="@drawable/button_selected" android:state_focused="true"/>
<item android:drawable="@drawable/button_unselected"/>
</selector>
res / drawable / button_selected.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="1000dp"/>
<solid android:color="@color/buttonSelected"/>
</shape>
res / drawable / button_unselected.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="1000dp"/>
<solid android:color="@color/buttonUnselected"/>
</shape>