通过更改按钮样式更改按钮颜色
问题描述:
美好的一天。通过更改按钮样式更改按钮颜色
我试着改变按钮的颜色,因为我不希望它是重音颜色。因此,我试着改变按钮样式。下面是我的代码:
<android.support.v7.widget.AppCompatButton
android:id="@+id/enterButton"
android:layout_width="200dp"
android:layout_height="48dp"
android:layout_marginTop="50dp"
android:layout_gravity="center"
android:text="@string/enter_button"
android:textSize="@dimen/sohere_font_small"
style="@style/NewButtonStyle"
android:enabled="true"/>
<style name="NewButtonStyle" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@drawable/selector_button_color</item>
<item name="android:textColor">@drawable/selector_button_text_color</item>
<item name="colorAccent">@color/primary_color</item>
</style>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:color="@color/primary_color" />
<item
android:state_enabled="false"
android:color="@color/default_disabled_button_colour" />
</selector>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:color="@color/white_color" />
<item
android:state_enabled="false"
android:color="@color/default_hint_text_color" />
</selector>
但是按钮的颜色不会改变,直到我修改我的代码:
<android.support.v7.widget.AppCompatButton
android:id="@+id/enterButton"
android:layout_width="200dp"
android:layout_height="48dp"
android:layout_marginTop="50dp"
android:layout_gravity="center"
android:text="@string/enter_button"
android:textSize="@dimen/sohere_font_small"
**android:theme="@style/NewButtonStyle"**
android:enabled="true"/>
有什么办法,我可以通过设置按钮样式改变改变按钮颜色主题?
请指教。
答
对于您的样式按钮,您可以使用此:
转到绘制文件夹,使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>
这是我的代码,你可以让你想
必要的改变现在这个样子
android:background="@drawable/button.xml"
调用它在布局XML(mainactivity.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"
/>
希望这有助于:)