我用
appMusicTab.setButtonDrawable(R.drawable.all);
设置RadioButton的按钮样式,
但是可绘制对象始终位于 RadioGroup 的左侧,如何在代码中为“按钮”设置左侧填充?谢谢!!
我试过了
appMusicTab.setPadding(20, 0, 0, 0);
和:
appMusicTab.setLeft(20);
但这些都不起作用。
这是我的代码:
RadioButton appMusicTab = new RadioButton(mContext);
appMusicTab.setText(tabInfo.name);
appMusicTab.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 25);
appMusicTab.setGravity(Gravity.CENTER);
appMusicTab.setId(tabInfo.id);
// appMusicTab.setButtonDrawable(android.R.color.transparent);
appMusicTab.setButtonDrawable(R.drawable.all);
appMusicTab.setBackgroundResource(R.drawable.app_tab_bg);
appMusicTab.setPadding(30, 0, 0, 0);
RadioGroup.LayoutParams lp =
new RadioGroup.LayoutParams(
RadioGroup.LayoutParams.MATCH_PARENT,
RadioGroup.LayoutParams.WRAP_CONTENT);
lp.bottomMargin =MASettings.MAIN_UI_APP_TAB_MARGIN_BOTTOM;
mAppsTab.addView(appMusicTab, lp); //mAppsTab is a RadioGroup
最佳答案
我使用带有一些透明填充的图标来解决这个问题。查看RadioButton源码,发现button Drawable的left padding在代码中已经设置为0:buttonDrawable.setBounds(0, y, buttonDrawable.getIntrinsicWidth(), y + height);
关于android,如何以编程方式设置单选按钮按钮的左填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12277734/