【发布时间】:2017-03-09 23:26:56
【问题描述】:
我是安卓开发新手。 我正在做一个程序,我想改变按钮样式,我可以做到。
如您所见,它既光滑又漂亮!但是当我想改变按钮的颜色(带有样式)时,我遇到了问题! :
如何更改样式(按钮颜色)并保持按钮平滑美观?
【问题讨论】:
-
您需要创建类似于基本样式的自定义样式。并将背景颜色添加为黑色
标签: android
我是安卓开发新手。 我正在做一个程序,我想改变按钮样式,我可以做到。
如您所见,它既光滑又漂亮!但是当我想改变按钮的颜色(带有样式)时,我遇到了问题! :
如何更改样式(按钮颜色)并保持按钮平滑美观?
【问题讨论】:
标签: android
更改背景颜色会删除默认的材料设计样式,您应该为该按钮创建自己的样式,父主题为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"将此主题应用于按钮
【讨论】:
制作一种扩展默认按钮样式并为其设置背景颜色的样式。 在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/>
【讨论】:
在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"/>
【讨论】:
使用风格作为主题:
<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>
【讨论】: