先鄙视一下自己,写博客没有坚持下来!
昨天在项目中遇到的这个问题搞了半天,现在有了解决方法,纪录一下。
一 .RadioButton的布局
<?xml version="1.0" encoding="utf-8"?>
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:background="@null"
android:text="fly"
android:textSize="13sp"
android:textColor="#ff6600"
android:gravity="center_vertical"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:drawablePadding="8dp"
android:drawableLeft="@drawable/rbtn_button"
/>
这样写的好处是可以自适应手机屏幕。
二 .Activity布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RadioGroup
android:id="@+id/gadioGroup"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" />
</RelativeLayout>
三 .Activity的代码
/**
* @author cuifei
*/
public class MainActivity extends Activity {
private RadioGroup radioGroup;
private LayoutInflater inflater;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup = (RadioGroup) this.findViewById(R.id.gadioGroup);
inflater = LayoutInflater.from(MainActivity.this);
//假设需要4个RadioButton
for(int i=0;i<4;i++){
RadioButton button = (RadioButton) inflater.inflate(R.layout.radiobtn_item, null);
button.setText("fly me :"+i);
radioGroup.addView(button);
}
}
}
最后是在Genymotion运行的效果