安卓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>

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

最后看看实际效果

很简单吧!!!

相关推荐
蒸鱼Yuzheng2 小时前
设备端性能工件可靠导出:断点续传、哈希、manifest 与失败恢复
android·自动化测试·python·adb·数据完整性
美狐美颜sdk4 小时前
直播APP接入美颜SDK后出现卡顿怎么办?从性能瓶颈寻找解决方案
android·人工智能·音视频·美颜sdk·直播美颜sdk
美狐美颜SDK开放平台4 小时前
直播APP开发实战:从摄像头调用到视频美颜sdk集成
android·人工智能·计算机视觉·音视频·直播美颜sdk
alexhilton5 小时前
生命周期感知的多模块启动模式
android·kotlin·android jetpack
三少爷的鞋6 小时前
Android 架构指南:suspend 如何响应取消?别再给 Repository 加 `cancel()`
android
迪飞特科技7 小时前
【无标题】
android·人工智能·本地化大模型
FlightYe7 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
传奇开心果编程7 小时前
【Flutter入门练中学】第8课:动画与过渡
android·学习·flutter·ui·ios
传奇开心果编程9 小时前
【Flutter入门练中学】第11课:状态管理进阶与声明式路由
android·学习·flutter·ui·ios
JasonSJX10 小时前
四端自建播放器怎么落地:Android、iOS、tvOS、Tizen 的 DRM 播放 SDK 技术盘点
android·ios·音视频·视频防录屏·加密保护课程·直播安全