通过代码设置radiobutton不同方位图标的两种方法
更换radiobutton中的图片在xml中很好设置,但对于初学者如何在代码中设置还是不容易找的。没法子,通过看原版api找到两个方法,setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds。
下面交给大家方法。
第一个方法:setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom)
api原文为:
Sets the Drawables (if any) to appear to the left of, above, to the right of, and below the text. Use null if you do not want a Drawable there. The Drawables' bounds will be set to their intrinsic bounds. 意思大概就是:可以在上、下、左、右设置图标,如果不想在某个地方显示,则设置为null。图标的宽高将会设置为固有宽高,既自动通过getIntrinsicWidth和getIntrinsicHeight获取。——笔者翻译 |
1 button = (RadioButton) group.getChildAt(i); 2 Resources res = TabTest.this.getResources(); 3 Drawable myImage = res.getDrawable(R.drawable.home); 4 button.setCompoundDrawablesWithIntrinsicBounds(null, myImage, null, null);
如图第一个按钮:
第二种方法:setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)
api原文为:
Sets the Drawables (if any) to appear to the left of, above, to the right of, and below the text. Use null if you do not want a Drawable there. The Drawables must already have had 意思大概就是:可以在上、下、左、右设置图标,如果不想在某个地方显示,则设置为null。但是Drawable必须已经setBounds(Rect)。意思是你要添加的资源必须已经设置过初始位置、宽和高等信息。——笔者翻译 |
这下就明白了,这个方法要先给Drawable设置setBounds(x,y,width,height);
x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度。
如代码:
1 Resources res = TabTest.this.getResources(); 2 Drawable myImage = res.getDrawable(R.drawable.home); 3 myImage.setBounds(1, 1, 100, 100); 4 button.setCompoundDrawables(null, myImage, null, null);
只要调整好宽和高。效果也是一样的。这个方法的好处就是不按比例,宽高可以打破原有的大小及比例!如图,我调的y轴有点不对齐。
总结:radiobutton设置不同方位的图标的方法有以上两种,如果想手动设置大小的话就要用setCompoundDrawables,事先要给Drawable设置setBounds。
如果按照原有比例大小显示图片就使用setCompoundDrawablesWithIntrinsicBounds
通过代码设置radiobutton不同方位图标的两种方法相关推荐
- 经由过程代码设置radiobutton不合方位图标的两种办法
调换radiobutton中的图片在xml中很好设置,但对于初学者如安在代码中设置还是不轻易找的.没办法,经由过程看原版api找到两个办法,setCompoundDrawables和setCompou ...
- html+input改变图标,JS Input里添加小图标的两种方法
我们在做网页的时候,经常需要在input里面添加小图标,那么这里就介绍比较常见的两种方法. 将小图标当做input的背景来插入,直接上代码吧: Box{ height: 50px; backgroun ...
- html密码框怎么添加小图标,JS Input里添加小图标的两种方法
我们在做网页的时候,经常需要在input里面添加小图标,那么这里就介绍比较常见的两种方法. 方法一 将小图标当做input的背景来插入,直接上代码吧: *{ margin: 0; padding: 0 ...
- input 单击 图标_JS Input里添加小图标的两种方法
我们在做网页的时候,经常需要在input里面添加小图标,那么这里就介绍比较常见的两种方法. 方法一 将小图标当做input的背景来插入,直接上代码吧: *{ margin: 0; padding: 0 ...
- 【Markdown】 实现上角标和下角标的两种方法(详细讲解!!!)
作者:MiTu_-_ 本帖内容著作权归作者所有,转载请务必保留本文链接 Markdown实现上下角标的两种方法 第一种 使用Markdown自带的代码格式: 下标: ~ (内容) ~ 例:H2O H~ ...
- html设置word页边距,word怎样设置页边距的两种方法
有些时候,我们需要设置一下word文档的页边距,来增添文字输入空间和获得一个较好的布局,那么怎么来设置呢?那么下面就由学习啦小编给大家分享下word设置页边距的技巧,希望能帮助到您. word设置页边 ...
- php设置背景为透明,css如何设置背景颜色透明?css设置背景颜色透明度的两种方法介绍...
在网页布局中有时为了网页的整体美观,可能需要将网页中的某些部分设置为背景颜色透明,那么如何设置背景颜色透明呢?本篇文章就来给大家介绍一下css设置背景颜色透明的方法. 在css中设置背景颜色透明的方法 ...
- css如何设置背景颜色透明?css设置背景颜色透明度的两种方法介绍
在网页布局中有时为了网页的整体美观,可能需要将网页中的某些部分设置为背景颜色透明,那么如何设置背景颜色透明呢?本篇文章就来给大家介绍一下css设置背景颜色透明的方法. 在css中设置背景颜色透明的方法 ...
- CSS设置背景颜色透明的两种方法
在css中设置背景颜色透明的方法有两种: 一种是通过rgba方法设置,另一种是通过backgroundh和opacity设置 下面分别是css中 两种方法实现的背景颜色透明实例 1,通过backgro ...
- 华硕主板无盘启动bios设置_最新华硕主板进BIOS设置U盘启动的两种方法
华硕这家台湾企业在主板领域一直是处于领头羊的地位,旗下的主板以质量优异获得大量用户的青睐.下面小编就讲讲最新华硕主板如何进bios设置u盘启动,在此介绍两种方法. 方法一:利用启动热键快速设置 1.开 ...
最新文章
- SCCM2012R2之二安装SQL Server
- java正则表达式 文件后缀名_正则表达式 判断文件名后缀是否为 csv xls xlsx
- 【转】selector函数指针回调机制
- java oralce merge_Oracle数据库merge into的使用,存在则更新,不存在则插入
- iOS 16要来了:速度更快、UI改动明显?苹果WWDC大会或将在线下举行
- 【Oracle批量更新】根据一个大表批量更新另一大表的方法比较
- 线性链表的建立与插入-----数据结构与算法笔记
- dell主板恢复出厂设置_如何清除DELL电脑主板CMOS信息并恢复默认设置
- 谦虚的向大家问个技术问题,树型结构的排序问题
- npm connect ETIMEDOUT
- 经验分享 针式打印机经典案例分析
- 云片网短信模版自定义变量的替换内容
- 7-1 电话聊天狂人 (25 分)
- 在线暴躁:script /问题
- balsamiq原型工具
- 使用canvas画一个流星动画送给她吧
- Mysql中事务是什么?有什么用?
- LCS算法:最长公共子序列
- 带滤波器的PID控制仿真-3(Simulink仿真)
- R | 如何更新R版本及Rstudio
热门文章
- Mysql中Drop,Truncate,Delete的区别
- Tensorflow:批归一化和l1l2正则化
- C语言获取系统时间的函数
- keras load model 并保存特定层 (pop) 的权重save new_model
- 软件开发模型_为什么越来越多软件开发团队都放弃了瀑布模型?
- easyui的tree获取父节点_通过DOM API 查找节点
- 蓝桥杯2018年第九届C/C++省赛B组第三题-乘积尾零
- Ubuntu 磁盘自动挂载解决
- Futter基础第9篇: 实现页面跳转、跳转传值(命名路由、命名路由传值)
- Android 补间动画(二)