我使用了buttonBarStyle和buttonBarButtonStyle来为按钮栏创建了一个自定义主题。它可以正常工作,但是我想要改变按钮的文本颜色,但它仍然采用默认颜色(@android:color/primary_text_holo_light)。 我的代码如下:
<style name="ButtonBarTheme" parent="AppTheme">
<item name="buttonBarStyle">?android:attr/buttonBarStyle</item>
<item name="buttonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
<item name="android:textColor">#ffffff</item>
</style>
关于布局:
<LinearLayout
style="?android:attr/buttonBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#0090cc"
android:orientation="horizontal" >
<Button
android:id="@+id/bar_button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/ButtonBarStyleButton"
android:text="Button 1" />
<Button
android:id="@+id/bar_button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
style="?android:attr/buttonBarButtonStyle"
android:text="Button 2" />
</LinearLayout>
AppTheme继承自AppBaseTheme,后者又继承自android:Theme.Holo.Light.DarkActionBar。
我该怎么做才能改变按钮文本的颜色?
编辑:我尝试在每个元素上应用颜色,这样可以生效,但是我想通过重写样式文件中的颜色来改变它(将所有设计属性都放在一个地方,类似于CSS)。
此外,我还尝试创建了一个具有"?android:attr/buttonBarStyle"属性的样式。
<style name="ButtonBarStyleButtonBase">
<item name="buttonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
</style>
<style name="ButtonBarStyleButton" parent="ButtonBarStyleButtonBase">
<item name="android:textColor">#ffFFff</item>
</style>
但它的行为很奇怪:颜色已更新,但没有从父样式继承的属性可见。