【发布时间】:2019-03-19 15:53:45
【问题描述】:
编辑:作为测试,我一直在为单选按钮和背景使用固定尺寸:
android:layout_height="40dp" android:layout_width="40dp"
我正在使用一个 GridLayout,其中包含跨越我网格所有列的 radioGroups。 我想让所有单选按钮的大小相等并占据所有可用的位置。
您可以看到单选组(在 Visual Studio for Mac 设计器中选择)占用了下图中的所有可用空间,但没有占用按钮:
每个单选按钮都是一个自定义按钮,它显示一个介于 1 和 10 之间的数字,并在选中时用颜色圈起来。
这里是 axml 代码:
<?xml version="1.0" encoding="UTF-8" ?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:columnCount="10" android:orientation="horizontal">
<RadioGroup android:id="@+id/qol_criteria1_radio_group" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">
<RadioButton android:id="@+id/qol_criteria1_score1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="1" android:tag="1" />
<RadioButton android:id="@+id/qol_criteria1_score2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="2" android:tag="2" />
<RadioButton android:id="@+id/qol_criteria1_score3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="3" android:tag="3" />
<RadioButton android:id="@+id/qol_criteria1_score4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="4" android:tag="4" />
<RadioButton android:id="@+id/qol_criteria1_score5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="5" android:tag="5" />
<RadioButton android:id="@+id/qol_criteria1_score6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="6" android:tag="6" />
<RadioButton android:id="@+id/qol_criteria1_score7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="7" android:tag="7" />
<RadioButton android:id="@+id/qol_criteria1_score8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="8" android:tag="8" />
<RadioButton android:id="@+id/qol_criteria1_score9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="9" android:tag="9" />
<RadioButton android:id="@+id/qol_criteria1_score10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="10" android:tag="10" />
</RadioGroup>
</GridLayout>
还有drawables:
qol_score_background
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/b"
android:state_checked="true"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_checked="true" />
<item
android:drawable="@drawable/b" />
</selector>
a.xml
<?xml version="1.0" encoding="UTF-8" ?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#fff" />
<stroke
android:width="2dp"
android:color="#53aade" />
</shape>
b.xml
<?xml version="1.0" encoding="UTF-8" ?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#fff" />
<stroke
android:width="2dp"
android:color="#555555" />
</shape>
我不得不说我很难调整元素大小。任何帮助表示赞赏。
【问题讨论】:
-
你能不能先用固定的宽度和高度代替wrapcontent,然后检查是否有任何变化。
-
收音机消失了
-
尝试为
a.xml和b.xml中的形状赋予android:layout_height=”40dp” android:layout_width=”40dp”的固定大小 -
还是没有变化
-
你能用这些变化更新问题吗?