Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法修复自定义主题按钮的样式?_Java_Xml_Android Studio_Android Layout - Fatal编程技术网

Java 有没有办法修复自定义主题按钮的样式?

Java 有没有办法修复自定义主题按钮的样式?,java,xml,android-studio,android-layout,Java,Xml,Android Studio,Android Layout,我的应用程序加载正常,但按钮没有正确设置为默认的“ButtonThemeLight”样式。然而,“ButtonThemeDark”样式可以很好地工作,即使它们本质上是相同的代码。浅蓝色背景的按钮(参见图1)是我的“ButtonThemeLight”样式的按钮显示的内容,而不是我的XML样式所说的内容。这种特定的浅蓝色阴影实际上并没有出现在我的代码中的任何地方,即使是在我的“colors.xml”文件中,所以我甚至不知道它是从哪里来的。深灰色按钮(参见图2)是我的“ButtonThemeDark”

我的应用程序加载正常,但按钮没有正确设置为默认的“ButtonThemeLight”样式。然而,“ButtonThemeDark”样式可以很好地工作,即使它们本质上是相同的代码。浅蓝色背景的按钮(参见图1)是我的“ButtonThemeLight”样式的按钮显示的内容,而不是我的XML样式所说的内容。这种特定的浅蓝色阴影实际上并没有出现在我的代码中的任何地方,即使是在我的“colors.xml”文件中,所以我甚至不知道它是从哪里来的。深灰色按钮(参见图2)是我的“ButtonThemeDark”样式的按钮,它似乎工作正常。这也不仅仅是第一次加载应用程序时发生的,而是每次我的主题设置为“ButtonThemeLight”,并且每次我的主题设置为“ButtonThemeDark”时都能正常工作。我是否遗漏了可能导致此问题的任何内容?应用程序中的其他一切都很好,运行时我在任何时候都没有收到错误,“ButtonThemeLight”主题根本不起作用,即使主“AppThemeLight”主题工作正常。下面是我所有与按钮样式相关的代码

(图1)

(图2)

应用程序主题XML:

<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" />