【发布时间】:2015-04-13 13:22:52
【问题描述】:
我做了一个单选组并在里面放了一些按钮(不是单选按钮),这些按钮只有背景颜色。我想设置选中的第一个按钮,并在选中时为按钮设置边框。
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="55dp"
android:layout_below="@+id/textView_colour"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<Button
android:layout_width="55dp"
android:layout_height="55dp"
android:id="@+id/button_yellow"
android:layout_below="@+id/textView_colour"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@drawable/button_yellow_effect"
android:clickable="true"
android:state_selected="true" />
<Button
android:layout_width="55dp"
android:layout_height="55dp"
android:id="@+id/button_pink"
android:background="#ffff74c0"
android:clickable="true"
android:layout_alignTop="@+id/button_yellow"
android:layout_toRightOf="@+id/button_yellow"
android:layout_toEndOf="@+id/button_yellow"
android:outlineProvider="bounds" />
<Button
android:layout_width="55dp"
android:layout_height="55dp"
android:id="@+id/button_green"
android:background="#ff00ff18"
android:clickable="true"
android:layout_alignTop="@+id/button_pink"
android:layout_toRightOf="@+id/button_pink"
android:layout_toEndOf="@+id/button_pink"
android:outlineProvider="bounds" />
<Button
android:layout_width="55dp"
android:layout_height="55dp"
android:id="@+id/button_red"
android:background="#ffff0800"
android:clickable="true"
android:layout_alignTop="@+id/button_green"
android:layout_toRightOf="@+id/button_green"
android:layout_toEndOf="@+id/button_green"
android:outlineProvider="bounds" />
<Button
android:layout_width="55dp"
android:layout_height="55dp"
android:id="@+id/button_blue"
android:background="#ff1bb0ff"
android:clickable="true"
android:layout_alignTop="@+id/button_red"
android:layout_toRightOf="@+id/button_red"
android:layout_toEndOf="@+id/button_red"
android:outlineProvider="bounds" />
<Button
android:layout_width="55dp"
android:layout_height="55dp"
android:id="@+id/button_purple"
android:clickable="true"
android:background="#ffe200ff"
android:layout_alignTop="@+id/button_blue"
android:layout_toRightOf="@+id/button_blue"
android:layout_toEndOf="@+id/button_blue"
android:outlineProvider="bounds" />
</RadioGroup>
我尝试在第一个按钮上使用选择器,但不起作用
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="4dp"
android:color="#1B5E91" />
<solid
android:color="#fffdff16"/>
<size
android:width="55dp"
android:height="55dp" />
</shape>
</item> <!-- pressed -->
<item android:background="#fffdff16" /> <!-- default -->
【问题讨论】:
-
您是否将选择器设置为
background按钮? -
第一个按钮是的
android:background="@drawable/button_yellow_effect" -
您是否尝试通过添加
android:state_selected="true"来设置选中的按钮? -
对不起,我不确定设置按钮的正确方法是否被选中,我是 android 编程新手。
标签: android android-layout button android-studio radio-group