定义的颜色未显示在可绘制元素上 - Android studio
Defined color is not showing on drawable element - Android studio
我在可绘制文件夹中的 button.xml 文件中遇到颜色问题。
我有 2 个圆形按钮,一个是绿色背景,一个是灰色。这是我的灰色圆形按钮的代码:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/mesi_grey" />
<corners android:radius="10dp" />
</shape>
颜色在 colors.xml 中定义,并且显示在可绘制项目中:
在布局中,我创建了一个按钮并调用了 android:background="@drawable/round_button_grey""
两个按钮的代码:
<LinearLayout
android:layout_width="307dp"
android:layout_height="57dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<Button
android:id="@+id/cancel_button"
android:layout_width="150dp"
android:layout_height="49dp"
android:layout_marginEnd="4dp"
android:layout_marginBottom="100dp"
android:background="@drawable/round_button_grey"
android:text="Prekliči" />
<Button
android:id="@+id/add_bike_button"
android:layout_width="150dp"
android:layout_height="49dp"
android:layout_marginEnd="88dp"
android:layout_marginBottom="104dp"
android:background="@drawable/round_button_green"
android:text="Potrdi" />
</LinearLayout>
结果我的两个按钮都是绿色的,但我希望左侧按钮是灰色的。
谢谢你帮我!
我在 themes.xml 中定义的绿色是否可能覆盖其他所有颜色?
<!-- Mesi Theme. -->
<style name="Theme.Mesibike" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color.-->
<item name="colorPrimary">@color/mesi_green</item>
<item name="colorPrimaryVariant">@color/mesi_green</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>
<!--<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> -->
</style>
如果您只想将 Button
背景设为灰色。使用此属性 android:backgroundTint="@color/mesi_grey"
。如果你想让你的自定义按钮具有 Gradient
背景,那么你必须使用 ImageButton
。
您的新XML低于
<Button
android:id="@+id/cancel_button"
android:layout_width="150dp"
android:layout_height="49dp"
android:layout_marginEnd="4dp"
android:layout_marginBottom="100dp"
android:backgroundTint="@color/mesi_grey"
android:text="Prekliči" />
如果您想要带有渐变按钮的自定义背景,请告诉我。我会更新的。
我在可绘制文件夹中的 button.xml 文件中遇到颜色问题。 我有 2 个圆形按钮,一个是绿色背景,一个是灰色。这是我的灰色圆形按钮的代码:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/mesi_grey" />
<corners android:radius="10dp" />
</shape>
颜色在 colors.xml 中定义,并且显示在可绘制项目中:
在布局中,我创建了一个按钮并调用了 android:background="@drawable/round_button_grey""
两个按钮的代码:
<LinearLayout
android:layout_width="307dp"
android:layout_height="57dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<Button
android:id="@+id/cancel_button"
android:layout_width="150dp"
android:layout_height="49dp"
android:layout_marginEnd="4dp"
android:layout_marginBottom="100dp"
android:background="@drawable/round_button_grey"
android:text="Prekliči" />
<Button
android:id="@+id/add_bike_button"
android:layout_width="150dp"
android:layout_height="49dp"
android:layout_marginEnd="88dp"
android:layout_marginBottom="104dp"
android:background="@drawable/round_button_green"
android:text="Potrdi" />
</LinearLayout>
结果我的两个按钮都是绿色的,但我希望左侧按钮是灰色的。
谢谢你帮我!
我在 themes.xml 中定义的绿色是否可能覆盖其他所有颜色?
<!-- Mesi Theme. -->
<style name="Theme.Mesibike" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color.-->
<item name="colorPrimary">@color/mesi_green</item>
<item name="colorPrimaryVariant">@color/mesi_green</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>
<!--<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> -->
</style>
如果您只想将 Button
背景设为灰色。使用此属性 android:backgroundTint="@color/mesi_grey"
。如果你想让你的自定义按钮具有 Gradient
背景,那么你必须使用 ImageButton
。
您的新XML低于
<Button
android:id="@+id/cancel_button"
android:layout_width="150dp"
android:layout_height="49dp"
android:layout_marginEnd="4dp"
android:layout_marginBottom="100dp"
android:backgroundTint="@color/mesi_grey"
android:text="Prekliči" />
如果您想要带有渐变按钮的自定义背景,请告诉我。我会更新的。