2012-09-05 123 views
4

我用android,如何以編程方式設置Radiobutton按鈕的左側填充?

appMusicTab.setButtonDrawable(R.drawable.all); 

設置單選按鈕的按鈕樣式,

但繪製總是褐藻到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 

回答

3

我用了一個圖標,一些透明的補白來解決這個問題。我檢查了RadioButton源代碼,發現在代碼中,Drawable左邊的填充已經設置爲0:buttonDrawable.setBounds(0,y,buttonDrawable.getIntrinsicWidth(),y + height);

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 

希望它會幫助你。 如果沒有,然後讓我知道。

享受Coading :)

+0

這裏我添加了Button而不是RadioButton。你可以用RadioButton做同樣的事情。 –

+0

謝謝IDroid,但setPadding()似乎不在這裏工作。我已經更新了我的代碼。 – herbertD

+2

我發現setPadding對文本有影響,而不是單選按鈕中的按鈕。 – herbertD

相關問題