设置Android中RadioButton的图片大小和位置

设置Android中RadioButton的图片大小和位置

今天在使用RadioGroup时遇到一个问题,在布局文件中设置好RadioGroup后结果预览起来图片非常大,这根本不是我想要的效果。下面是解决问题的过程:

布局文件

 

    
    
    
    

效果:

这是因为RadioButton继承自button,当你给RadioButton设置图片背景时,图片会被拉伸,而导致得不到我们预期的效果。

而且RadioButton并没有设置相关属性来解决这个问题,设置固定宽高是没有用的。

那么怎么解决呢?

查了一下资料,发现一种解决办法:

在代码中如下设置即可:

private void initView() {
    //定义底部标签图片大小和位置
    Drawable drawable_news = getResources().getDrawable(R.drawable.selector_home_rbtn_news);
    //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形
    drawable_news.setBounds(0, 0, 50, 50);
    //设置图片在文字的哪个方向
    rbtn_News.setCompoundDrawables(null, drawable_news, null, null);

    //定义底部标签图片大小和位置
    Drawable drawable_live = getResources().getDrawable(R.drawable.selector_home_rbtn_live);
    //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形
    drawable_live.setBounds(0, 0, 50, 50);
    //设置图片在文字的哪个方向
    rbtn_Live.setCompoundDrawables(null, drawable_live, null, null);

    //定义底部标签图片大小和位置
    Drawable drawable_tuijian = getResources().getDrawable(R.drawable.selector_home_rbtn_tuijian);
    //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形
    drawable_tuijian.setBounds(0, 0, 50, 50);
    //设置图片在文字的哪个方向
    rbtn_Tuijian.setCompoundDrawables(null, drawable_tuijian, null, null);

    //定义底部标签图片大小和位置
    Drawable drawable_me = getResources().getDrawable(R.drawable.selector_home_rbtn_me);
    //当这个图片被绘制时,给他绑定一个矩形 ltrb规定这个矩形
    drawable_me.setBounds(0, 0, 50, 50);
    //设置图片在文字的哪个方向
    rbtn_Me.setCompoundDrawables(null, drawable_me, null, null);
}

这样就解决了这个问题,效果如下:

你可能感兴趣的:(那些年爬过的坑,android,图片大小,RadioButto,RadioGroup)