安卓RadioButton设置图片大小

复制代码
RadioButton都不陌生,一般我们都会设置图片在里面,这就涉及一个问题,图片的大小。如果图片过大,效果很不理想。搜了很多方法,都不理想。无奈只能自己研究了

代码如下:

1,一个简单的 RadioButton

复制代码
<RadioButton
    android:id="@+id/rb_home"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:button="@null"
    android:checked="true"
    android:drawablePadding="5dp"
    android:gravity="center"
    android:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:text="首页"
    android:textColor="@xml/radio_button_selector"
    android:textSize="16sp" />

2,radio_button_selector是点击时文字更改颜色的
复制代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_checked="true" android:color="@color/selector_rg"></item>
    <item android:state_checked="false" android:color="@color/black"></item>
</selector>

color:

复制代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
    <color name="colorPrimary">#008577</color>
    <color name="colorPrimaryDark">#00574B</color>
    <color name="colorAccent">#D81B60</color>
    <color name="selector_rg">#D81B60</color>
    <color name="colorFirst">#550012</color>
</resources>

3,代码里设置图片的大小:

复制代码
Drawable drawable1=getResources().getDrawable(R.drawable.radiobutton_backgroundone);
drawable1.setBounds(0,0,69,69);
home.setCompoundDrawables(null,drawable1,null,null);

4,radiobutton_backgroundone:
复制代码
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/banner1" android:state_checked="false" />
    <item android:drawable="@drawable/banner4" android:state_checked="true" />
</selector>

可以看到我选用的图片还是很大的。

最后看看实际效果

很简单吧!!!

相关推荐
圆号本昊42 分钟前
Flutter Android Live2D 2026 实战:模型加载 + 集成渲染 + 显示全流程 + 10 个核心坑( OpenGL )
android·flutter·live2d
冬奇Lab2 小时前
ANR实战分析:一次audioserver死锁引发的系统级故障排查
android·性能优化·debug
冬奇Lab2 小时前
Android车机卡顿案例剖析:从Binder耗尽到单例缺失的深度排查
android·性能优化·debug
ZHANG13HAO2 小时前
调用脚本实现 App 自动升级(无需无感、允许进程中断)
android
圆号本昊3 小时前
【2025最新】Flutter 加载显示 Live2D 角色,实战与踩坑全链路分享
android·flutter
小曹要微笑4 小时前
MySQL的TRIM函数
android·数据库·mysql
mrsyf5 小时前
Android Studio Otter 2(2025.2.2版本)安装和Gradle配置
android·ide·android studio
DB虚空行者5 小时前
MySQL恢复之Binlog格式详解
android·数据库·mysql
liang_jy7 小时前
Android 事件分发机制(一)—— 全流程源码解析
android·面试·源码