android - Android Studio 按钮不会改变颜色(只会使用 theme.xml 中的颜色)
问题描述
我对 android studio 相当陌生,我正在开发一个小应用程序。
我刚刚添加了我的第一个按钮,但我无法选择它们的颜色。我在活动 xml 中使用的代码是:
<Button
android:id="@+id/signUpButton"
android:text="SIGN UP"
android:textColor="#FFF"
android:textSize="30sp"
android:layout_marginTop="20dp"
android:layout_width="270dp"
android:layout_height="60dp"
android:background="@drawable/buttonshape"
/>
buttonshape.xml 中的代码是:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="14dp"
/>
<solid
android:color="#FCB1B1"
/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"
/>
<size
android:width="270dp"
android:height="60dp"
/>
<stroke
android:width="3dp"
android:color="#FCB1B1"
/>
</shape>
由于某种原因,该按钮不会采用 buttonshape.xml 中指定的颜色,而是采用themes.xml 文件中的样式
主题.xml:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Health_Link" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/salmon</item>
<item name="colorPrimaryVariant">#FFF</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowContentTransitions">true</item>
<item name="android:windowDisablePreview">true</item>
</style>
<style name="Theme.Health_Link.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.Health_Link.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.Health_Link.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
解决方案
推荐阅读
- javascript - 在 ListView 中显示 Array 的每一项
- c# - 无法使用标准序列化时如何将 C# 对象传输到 C++
- react-redux - Redux-saga - yield all 不是在 root saga 中调用我所有的 saga
- sql - 在任何其他 SQL 之前先执行子查询重构
- regex - 正则表达式在整数之前提取字符串
- r - 将 csv 写入 s3,具有直接在存储桶内的凭据
- powershell - 如何通过powershell访问windows10中的mdb文件?
- javascript - 本地媒体访问受限,直到用户与 Firefox 中的页面交互
- javascript - Axios 拦截器:阻止对特定页面的访问
- reactjs - 状态数组(不是对象)和扩展运算符