控制drawable资源大小

       我想实现下面的效果:

      

这是个RadioButton,不能设置background,因为我还想要文字,所以要设置android:drawableTop属性,

如下设置:

<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="首页"
android:id="@+id/home_page_tab_id"
android:checked="false"
android:button="@null"
android:drawableTop="@drawable/hpage_rb_selector"
 />


hpage_rb_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/hpage_icon_press"android:state_checked="true">    
</item>
<item android:drawable="@mipmap/hpage_icon_nor" android:state_checked="false">
</item>
<item android:drawable="@mipmap/hpage_icon_nor" >
</item>
</selector>


问题在于,我在这里并不能控制hpage_icon_press.png图片的大小,这就无法得到我们想要的显示效果;


所以我们需要能手动控制R.drawable.hpage_rb_selector的大小:

方法:

Resources res = getResources() ;
RadioButton hpRB = (RadioButton)mView.findViewById(R.id.home_page_tab_id) ;
Drawable hpDrawable = res.getDrawable(R.drawable.hpage_rb_selector) ;
hpDrawable.setBounds(0,0,40,40);//这里就可以控制drawable资源的大小了
hpRB.setCompoundDrawables(null,hpDrawable,null,null);






你可能感兴趣的:(android,drawable资源大小)