我是Android开发的新手。 我正在制作一个程序,我想改变按钮的样式,我可以做到。
正如你所看到的那样光滑而漂亮!但是当我想改变按钮的颜色(带有样式)时,我遇到了问题! :
如何更改样式(按钮颜色)并使按钮保持平滑和美观?
答案 0 :(得分:3)
使用样式作为主题:
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:textColor="@android:color/white"
android:theme="@style/blackButton"
/>
并在styles.xml中添加此样式
<style name="blackButton" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@android:color/black</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>
答案 1 :(得分:0)
更改背景颜色会删除默认的材质设计样式,您应该使用父主题Widget.AppCompat.Button.Colored
为该按钮创建自己的样式
:
<!--fix to keep material design for buttons and add background color-->
<style name="blackButton" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/colorBlack</item>
</style>
然后使用android:theme="@style/blackButton"
答案 2 :(得分:0)
制作一种扩展默认按钮样式并为其设置背景颜色的样式。 在styles.xml中
<style name="black_button_style"
parent="Base.Widget.AppCompat.Button.Colored">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:typeface">sans</item>
<item name="android:background">#000000</item>
</style>
在您的活动中xml。
<Button
style="@style/black_button_style/>
答案 3 :(得分:0)
在styles.xml中添加此代码
<resources>
<style name="App.Button.Style" parent="Base.Widget.AppCompat.Button.Colored">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@color/red</item>
<item name="android:textColor">@android:color/white</item>
</style>
</resources>
并更改按钮样式
<Button
android:id="@+id/btnPlayVideo"
android:text="Play Video"
style="@style/App.Button.Style"/>