我有一个按钮样式,但background
,colorAccent
和colorButtonNormal
无法使用我的按钮。我尝试更改背景可绘制,并更改不同的颜色,并将style=
更改为android:theme=
但不会有帮助。这是我的风格:
<style name="ButtonWithBorder" parent="Widget.AppCompat.Button.Colored">
<item name="colorAccent">@color/colorPrimary</item>
<item name="colorButtonNormal">@color/colorPrimary</item>
<item name="android:textColor">@color/colorAccent</item>
<item name="android:textAllCaps">true</item>
<item name="background">@drawable/btn_border</item>
<item name="android:textSize">@dimen/button_text_size</item>
</style>
我的按钮:
<Button
android:id="@+id/descriptionReserveButton"
style="@style/ButtonWithBorder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:text="@string/reserve_place"
/>
<Button
和我的背景:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_outline" android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
<item android:drawable="@drawable/btn_outline" android:state_focused="true">
<shape android:shape="rectangle">
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
<item android:drawable="@drawable/btn_outline"/>
我想为我的按钮设置一次样式,剩下的时间只使用这种样式。我如何接受我的样式按钮
我需要什么:
修改
我的错误在
<item name="background">@drawable/btn_border</item>
必须是<item name="android:background">@drawable/btn_border</item>
新屏幕
答案 0 :(得分:2)
试试这个
<Button
android:id="@+id/descriptionReserveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
style="@style/MyButton"
android:text="reserve_place" />
风格
<style name="MyButton" parent="android:Widget.Material.Button" tools:targetApi="lollipop">
<item name="android:textColor">#149aed</item>
<item name="colorButtonNormal">#020e39</item>
<item name="android:textAllCaps">true</item>
<item name="android:background">@drawable/edterr</item>
</style>
<强> @绘制/ edterr 强>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#030a64" />
<stroke
android:width="1dp"
android:color="#149aed" android:dashWidth="5sp">
</stroke>
<corners android:radius="5dp" />
</shape>
答案 1 :(得分:1)
在styles.xml中为您的按钮创建一个带背景的样式:
<style name="ButtonStyle" parent="Widget.AppCompat.Button">
<item name="android:background">@drawable/shape_round_rect</item>
</style>
drawable shape_round_rect.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<stroke android:color="#2c73ca" />
<corners android:radius="4dp" />
<solid android:color="@color/colorPrimary" />
<padding android:bottom="4dp" android:left="6dp" android:right="6dp" android:top="4dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<stroke android:color="#2c73ca" />
<corners android:radius="4dp" />
<solid android:color="@color/colorPrimary" />
<padding android:bottom="4dp" android:left="6dp" android:right="6dp" android:top="4dp" />
</shape>
</item>
</selector>
并在按钮中设置样式:
<Button
android:id="@+id/descriptionReserveButton"
style="@style/ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerInParent="true"
android:layout_margin="12dp"
android:text="Reserve Place" />