4

私が使う

appMusicTab.setButtonDrawable(R.drawable.all); 

RadioButton のボタン スタイルを設定するには、

しかし、drawable は常に 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
4

2 に答える 2

3

この問題を解決するために、透明なパディングのあるアイコンを使用しました。RadioButton のソース コードを確認したところ、ボタン Drawable の左パディングがコードで 0 に設定されていることがわかりました。

于 2012-09-12T09:27:52.377 に答える
2

そのためには、LayoutParams を設定する必要があります。

下記参照:

qButt = new Button(this);
qButt.setPadding(0, 0, 0, 0);
TableRow.LayoutParams params = new TableRow.LayoutParams(BtnHeight,BtnHeight); // You can set any Layout params in Place of TableRow
YourParentLayout.addView(qButt,params); // Your parent layout may be any Layout in xml
于 2012-09-05T09:08:45.607 に答える