Java 有没有办法修复自定义主题按钮的样式?
我的应用程序加载正常,但按钮没有正确设置为默认的“ButtonThemeLight”样式。然而,“ButtonThemeDark”样式可以很好地工作,即使它们本质上是相同的代码。浅蓝色背景的按钮(参见图1)是我的“ButtonThemeLight”样式的按钮显示的内容,而不是我的XML样式所说的内容。这种特定的浅蓝色阴影实际上并没有出现在我的代码中的任何地方,即使是在我的“colors.xml”文件中,所以我甚至不知道它是从哪里来的。深灰色按钮(参见图2)是我的“ButtonThemeDark”样式的按钮,它似乎工作正常。这也不仅仅是第一次加载应用程序时发生的,而是每次我的主题设置为“ButtonThemeLight”,并且每次我的主题设置为“ButtonThemeDark”时都能正常工作。我是否遗漏了可能导致此问题的任何内容?应用程序中的其他一切都很好,运行时我在任何时候都没有收到错误,“ButtonThemeLight”主题根本不起作用,即使主“AppThemeLight”主题工作正常。下面是我所有与按钮样式相关的代码 (图1) (图2) 应用程序主题XML:Java 有没有办法修复自定义主题按钮的样式?,java,xml,android-studio,android-layout,Java,Xml,Android Studio,Android Layout,我的应用程序加载正常,但按钮没有正确设置为默认的“ButtonThemeLight”样式。然而,“ButtonThemeDark”样式可以很好地工作,即使它们本质上是相同的代码。浅蓝色背景的按钮(参见图1)是我的“ButtonThemeLight”样式的按钮显示的内容,而不是我的XML样式所说的内容。这种特定的浅蓝色阴影实际上并没有出现在我的代码中的任何地方,即使是在我的“colors.xml”文件中,所以我甚至不知道它是从哪里来的。深灰色按钮(参见图2)是我的“ButtonThemeDark”
<resources>
<!--no transition: https://stackoverflow.com/questions/6972295/how-to-switch-activity-without-animation-in-android-->
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowAnimationStyle">@null</item>
</style>
<style name="AppThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColor">@color/colorBlack</item>
<item name="android:colorBackground">@color/colorWhite</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:buttonStyle">@style/ButtonThemeLight</item>
<item name="buttonStyle">@style/ButtonThemeLight</item>
</style>
<style name="AppThemeDark" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColor">@color/colorBlack</item>
<item name="android:colorBackground">@color/colorGrey</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:buttonStyle">@style/ButtonThemeDark</item>
<item name="buttonStyle">@style/ButtonThemeDark</item>
</style>
<style name="ButtonThemeLight" parent="@android:style/Widget.Button">
<item name="android:layout_width">fill_parent</item>
<item name="android:textColor">#000000</item>
<item name="android:textSize">15sp</item>
<item name="android:padding">10dp</item>
<item name="android:textStyle">bold</item>
<item name="android:background">#999999</item>
<item name="android:gravity">center</item>
</style>
<style name="ButtonThemeDark" parent="@android:style/Widget.Button">
<item name="android:layout_width">fill_parent</item>
<item name="android:textColor">#000000</item>
<item name="android:textSize">15sp</item>
<item name="android:padding">10dp</item>
<item name="android:textStyle">bold</item>
<item name="android:background">#555555</item>
<item name="android:gravity">center</item>
</style>
应用程序中的按钮示例:
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="changeText"
android:text="Log In"
app:layout_constraintBottom_toBottomOf="@+id/button2"
app:layout_constraintEnd_toStartOf="@+id/button2"
app:layout_constraintHorizontal_bias="0.317"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button2"
app:layout_constraintVertical_bias="0.674" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="changeText"
android:text="Log In"
app:layout_constraintBottom_toBottomOf="@+id/button2"
app:layout_constraintEnd_toStartOf="@+id/button2"
app:layout_constraintHorizontal_bias="0.317"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button2"
app:layout_constraintVertical_bias="0.674" />