Android 样式无效
Android style dosen't work
我正在尝试为按钮添加特定样式,问题是当我写这个时它在 themes.xml 中有效:
themes.xml
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorControlHighlight">@color/background</item>
<item name="colorButtonNormal">@color/white</item>
</style>
mylayout.xml
<Button
android:id="@+id/play"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:gravity="center"
android:text="Play"
android:textColor="@color/guillotine_background"
android:textSize="25dp"
android:textStyle="bold"/>
但是当我使用这个时我没有得到相同的结果:
styles.xml
<style name="MyColorButton" parent="AppTheme">
<item name="colorControlHighlight">@color/background</item>
<item name="colorButtonNormal">@color/white</item>
</style>
我在 mylayout.xml
中的按钮标签中添加了这一行
mylayout.xml
style="@style/MyColorButton"
这不是一定return相同的结果吗?
colorControlHighlight
和 colorButtonNormal
是主题属性。它们用于用作 Activity 主题的样式。它们不是 Button
的属性。如果您想在 Button
而不是整个 Activity 上使用它,请改用 android:theme
属性:
<Button
android:theme="@style/MyColorButton"
... />
dmk 你做得对,你只需要更改按钮样式中的父项即可。
只需设置 parent="Widget.AppCompat.Button" 你的代码就可以正常工作..
<style name="appbutton" parent="Widget.AppCompat.Button">
<item name="colorButtonNormal">@color/themeColordark</item>
<item name="android:textColorPrimary">@color/white</item>
</style>
谢谢
我正在尝试为按钮添加特定样式,问题是当我写这个时它在 themes.xml 中有效:
themes.xml
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorControlHighlight">@color/background</item>
<item name="colorButtonNormal">@color/white</item>
</style>
mylayout.xml
<Button
android:id="@+id/play"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:gravity="center"
android:text="Play"
android:textColor="@color/guillotine_background"
android:textSize="25dp"
android:textStyle="bold"/>
但是当我使用这个时我没有得到相同的结果:
styles.xml
<style name="MyColorButton" parent="AppTheme">
<item name="colorControlHighlight">@color/background</item>
<item name="colorButtonNormal">@color/white</item>
</style>
我在 mylayout.xml
中的按钮标签中添加了这一行mylayout.xml
style="@style/MyColorButton"
这不是一定return相同的结果吗?
colorControlHighlight
和 colorButtonNormal
是主题属性。它们用于用作 Activity 主题的样式。它们不是 Button
的属性。如果您想在 Button
而不是整个 Activity 上使用它,请改用 android:theme
属性:
<Button
android:theme="@style/MyColorButton"
... />
dmk 你做得对,你只需要更改按钮样式中的父项即可。 只需设置 parent="Widget.AppCompat.Button" 你的代码就可以正常工作..
<style name="appbutton" parent="Widget.AppCompat.Button">
<item name="colorButtonNormal">@color/themeColordark</item>
<item name="android:textColorPrimary">@color/white</item>
</style>
谢谢