ish*_*sht 1 xml android button stroke
我只想在按钮的顶部创建一个带有黑色笔触的按钮。stackoverflow 上有很多类似的问题,但我还想要一件事——按下按钮时按钮的颜色应该改变。我无法将选择器与此处或此处给出的答案一起使用。我的按钮背景的 xml 代码应该是什么(android:background)?提前致谢 :)
我目前的代码在所有方面都有统一的笔画
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="@color/dark_red" />
<stroke
android:width="0.1dp"
android:color="#fff" />
<corners
android:radius="0dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="@color/red"
android:endColor="@color/dark_red"
android:angle="270" />
<stroke
android:width="0.1dp"
android:color="#fff" />
<corners
android:radius="0dp" />
</shape>
</item>
Run Code Online (Sandbox Code Playgroud)
您可以layer-list用于绘制您需要的困难背景。
您必须为选择器添加两个背景状态
unpressed_state.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/black" />
</shape>
</item>
<item
android:top="5dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
以及具有不同颜色的第二个按下状态的相同代码(只需更改@android:color/black为您需要的)。这将是prssed_state.xml
并且,在创建您自己的背景选择器之后您需要的所有东西
button_bg.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/pressed_state" android:state_pressed="true" />
<item android:drawable="@drawable/unpressed_state" />
</selector>
Run Code Online (Sandbox Code Playgroud)
现在只需将 button_bg 放在android:background按钮的属性中:
android:background="@drawable/button_bg"
Run Code Online (Sandbox Code Playgroud)