String[] items = new String[]{"语音一", "语音二", "语音三"};
rdo_sel_lang.removeAllViews();
for(int i=0;i<items.length;i++){
RadioButton rdoBtn = new RadioButton(this);
nav_up.setBounds(0, 0, nav_up.getMinimumWidth(), nav_up.getMinimumHeight()); //Drawable对象必须调用setBounds方法
rdoBtn.setCompoundDrawables(null, null, nav_up, null); //设置自定义图片位置
rdoBtn.setText(items[i]);
rdo_sel_lang.addView(rdoBtn);
}
rdo_sel_lang.removeAllViews();
for(int i=0;i<items.length;i++){
RadioButton rdoBtn = new RadioButton(this);
rdoBtn.setButtonDrawable(new ColorDrawable(Color.TRANSPARENT));//去除默认按钮
RadioButton和CheckBox都是Android app中常用的Widget,它们派生于CompoundButton,允许使用者自行设置背景和按钮的样式,不过,有时我们仅希望简单的设置一个有状态的背景,并隐藏其默认样式。可是,当我们调用setButtonDrawable(null)或setButtonDrawable(0)时,却发现完全没有效果。原来,CompoundButton的setButtonDrawable的代码实现中屏蔽了null或resid为0的Drawable,迫使我们必须传入有效的Drawable对象。
Drawable nav_up=getResources().getDrawable(android.R.drawable.btn_radio); //使用替换的图片nav_up.setBounds(0, 0, nav_up.getMinimumWidth(), nav_up.getMinimumHeight()); //Drawable对象必须调用setBounds方法
rdoBtn.setCompoundDrawables(null, null, nav_up, null); //设置自定义图片位置
rdoBtn.setText(items[i]);
rdo_sel_lang.addView(rdoBtn);
}