android,如何以编程方式设置Radiobutton按钮的左填充?

her*_*rtD 5 android padding radio-button

我用

appMusicTab.setButtonDrawable(R.drawable.all); 
Run Code Online (Sandbox Code Playgroud)

设置RadioButton的按钮样式,

但可绘制对象始终位于 RadioGroup 左侧,如何在代码中为“按钮”设置左侧填充?谢谢!!

我试过了

appMusicTab.setPadding(20, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

和:

  appMusicTab.setLeft(20);
Run Code Online (Sandbox Code Playgroud)

但这些都不起作用。

这是我的代码:

       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
Run Code Online (Sandbox Code Playgroud)

her*_*rtD 3

我使用带有一些透明填充的图标来解决这个问题。我查看了RadioButton源码,发现按钮Drawable的左边距在代码中已经设置为0:buttonDrawable.setBounds(0, y, buttonDrawable.getIntrinsicWidth(), y + height);