【发布时间】:2021-03-26 07:08:19
【问题描述】:
我几天前刚开始学习 Android。今天在玩 Button 时,发现无法按预期设置边框。
xml 文件如下:
按钮部分activity_main.xml:
<Button
android:layout_width="200sp"
android:layout_height="100dp"
android:background="@drawable/start_button_selector"
app:backgroundTint="@color/start_button_color_selector"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias=".4" />
start_button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/arrow_button">
<shape android:shape="rectangle">
<solid android:color="@color/transparent" />
<corners android:radius="12sp" />
<stroke android:width="10sp" android:color="@color/start_button_color_selector"/>
</shape>
</item>
</selector>
start_button_color_selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black" android:state_pressed="true"/>
<item android:color="@color/gray"/>
</selector>
但是,无论是预览版还是模拟器都没有给出预期的结果。
预览不显示任何边框,模拟器显示紫色边框\
也试过了:
将 Button 更改为 androidx.appcompat.widget.AppCompatButton
去除描边标签内的颜色
任何帮助都会很棒!
编辑:对不起,如果我没有说清楚。问题是按下时不改变颜色,使用上面的 xml 文件,按钮在按下时已经能够改变颜色。我遇到的问题是边框在预览中是透明的,而在模拟器中是紫色的,这不是我预期的灰色/黑色。
【问题讨论】:
标签: android xml android-studio android-layout android-button