Android RadioGroup動態新增RadioButton,設定margin
阿新 • • 發佈:2019-01-04
有時需要在RadioGroup中動態新增RadioButton
1.如果不做設定,那麼RadioButton之間就會貼在一起,動態設定margin
2.必須給RadioButton新增ID,否則預設選中的選項會一直是選中狀態
RadioGroup rg= (RadioGroup) view.findViewById(R.id.rg_layout_radioButton);//橫向 for (int i = 0; i < mTextArray.length; i++) { //radioButton RadioButton radioButton = new RadioButton(context); int dimension = (int) (getResources().getDimension(R.dimen.qb_px_10)+0.5f);//會自動轉化為畫素值 radioButton.setPadding(dimension,0,0,0); radioButton.setButtonDrawable(R.drawable.selector_icon_31_32); radioButton.setText(mTextArray[i]); radioButton.setTextColor(getResources().getColor(R.color.white)); //必須有ID,否則預設選中的選項會一直是選中狀態 radioButton.setId(i); if (i==mTextArray.length-1){ //預設選中 radioButton.setChecked(true); } //layoutParams 設定margin值 RadioGroup.LayoutParams layoutParams = new RadioGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); if (i!=0){ int i1 = (int) (getResources().getDimension(R.dimen.qb_px_40) + 0.5f); layoutParams.setMargins(i1,0,0,0); }else { layoutParams.setMargins(0,0,0,0); } //注意這裡addView()裡傳入layoutParams rg.addView(radioButton,layoutParams); }