android - 单选组中的单选按钮大小不正确
问题描述
我在单选按钮组中正确调整具有背景和文本的单选按钮大小时遇到问题。
所以基本上,我在网格布局中有 10 个单选按钮,布局如下:
<?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="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="1" android:tag="1" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score2" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="2" android:tag="2" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score3" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="3" android:tag="3" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score4" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="4" android:tag="4" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score5" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="5" android:tag="5" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score6" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="6" android:tag="6" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score7" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="7" android:tag="7" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score8" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="8" android:tag="8" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score9" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="9" android:tag="9" android:gravity="center" />
<RadioButton android:id="@+id/qol_criteria1_score10" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/qol_score_background" android:button="@android:color/transparent" android:checked="false" android:text="10" android:tag="10" android:gravity="center" />
</RadioGroup>
</GridLayout>
可绘制对象是:
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:left="4sp"
android:right="4sp"
android:drawable="@drawable/ic_btn_radio_mobile_01"
android:state_checked="true"
android:state_pressed="true" />
<item
android:left="4sp"
android:right="4sp"
android:drawable="@drawable/ic_btn_radio_mobile_02"
android:state_pressed="true" />
<item
android:left="4sp"
android:right="4sp"
android:drawable="@drawable/ic_btn_radio_mobile_02"
android:state_checked="true" />
<item
android:left="4sp"
android:right="4sp"
android:drawable="@drawable/ic_btn_radio_mobile_01" />
</selector>
和图标(在布局外显示时是圆圈):
<vector android:height="24sp" android:viewportHeight="32"
android:viewportWidth="32" android:width="24sp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#00000000"
android:pathData="M15.844,15.9m-13.5,0a13.5,13.5 0,1 1,27 0a13.5,13.5 0,1 1,-27 0"
android:strokeColor="#918D8D" android:strokeLineCap="round" android:strokeWidth="2"/>
</vector>
和
<vector android:height="24sp" android:viewportHeight="32"
android:viewportWidth="32" android:width="24sp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#00000000"
android:pathData="M10.83,13.354l4.999,5.834l14.17,-17.501"
android:strokeColor="#FF5F00" android:strokeLineCap="round" android:strokeWidth="2"/>
<path android:fillColor="#00000000"
android:pathData="M29.172,13.775c0.109,0.679 0.162,1.37 0.162,2.078c0,7.456 -6.042,13.499 -13.499,13.499c-7.458,0 -13.501,-6.043 -13.501,-13.499c0,-7.458 6.043,-13.5 13.501,-13.5c1.839,0 3.593,0.366 5.192,1.033"
android:strokeColor="#FF5F00" android:strokeLineCap="round" android:strokeWidth="2"/>
</vector>
正如您在以下屏幕截图中看到的那样,圆圈不再是圆圈......
这是为什么 ?
解决方案
这不关android:layout_width="fill_parent"
吗?
单选按钮是否没有试图伸展以填充屏幕宽度?
推荐阅读
- vue.js - Vue路由器:是否可以仅从后退按钮检测路径更改?
- javascript - 如何为元素上的鼠标悬停触发不同元素上的鼠标悬停?
- ios - 向 iOS 设备发送 POST 请求
- android-emulator - 为什么 Hexm 一直在 Android Studio 中安装
- javascript - Angular - 打开模式会导致“内容安全策略(script-src 'self')错误”
- powerbi - IBM DB2 ODBC 驱动程序 - 用于 Power BI 连接的 DB2COPY1 或 IBMDBCL1?
- swift - 列出 macOS Big Sur 目录中的所有文件
- oracle-apex - 使用动态操作重定向/刷新页面 - Oracle Apex 21.1
- react-native - 如何使带有borderRadius的视图透明?
- sqlite - 用“ON DELETE CASCADE”续集改变现有表