请查看以下代码
<RadioButton android:id="@+id/radio_pirates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pirates"
android:onClick="onRadioButtonClicked"/>
这些单选按钮的文字出现在按钮之后。但是我需要在按钮之前显示文本。我怎样才能做到这一点?请帮忙。
答案 0 :(得分:1)
您可以通过设置android:button="@null"
并将drawable
的{{1}}添加为RadioButton
来实现此目的。您可以使用android:drawableRight
更改文本与drawable
之间的填充。
android:drawablePadding
答案 1 :(得分:0)
试试这个..
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:checked="true"
android:drawableRight="@android:drawable/btn_radio"
android:text="RadioButton" />
答案 2 :(得分:0)
你可以做这样的事情
<RadioButton
android:id="@+id/radio_pirates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@drawable/custom_radio_button"
android:drawablePadding="5dp"
android:text="@string/pirates" />
答案 3 :(得分:0)
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/txt_radio_pirates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/pirates" />
<RadioButton
android:id="@+id/radio_pirates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@drawable/custom_radio_button"
android:layout_alignLeft="@+id/txt_radio_pirates"
android:layout_marginLeft="80dp"
android:layout_centerVertical="true"/>
</RelativeLayout>
试试这种方式
答案 4 :(得分:0)
为此,最好使用textview显示文本。但是你需要为它定制适配器。检查该适配器的以下代码作为参考。
class CustomAdapter extends ArrayAdapter<ContactPerson>{
private ArrayList<ContactPerson> contactList;
public CustomAdapter(Context context, int textViewResourceId,
ArrayList<ContactPerson> contactList) {
super(context, textViewResourceId, contactList);
// TODO Auto-generated constructor stub
this.contactList = new ArrayList<ContactPerson>();
this.contactList.addAll(contactList);
}
private class ViewHolder{
TextView ContactName;
CheckBox contactCheck;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
Log.v("Convert View", String.valueOf(position));
if(convertView==null){
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.checkbox_item, null);
holder = new ViewHolder();
holder.ContactName = (TextView) convertView.findViewById(R.id.contact_name);
holder.contactCheck = (CheckBox) convertView.findViewById(R.id.contact_check);
convertView.setTag(holder);
holder.contactCheck.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CheckBox cb = (CheckBox) v;
ContactPerson contact = (ContactPerson) cb.getTag();
// Log.i("clicked users", contact.getName());
contact.setSelected(cb.isChecked());
}
});
}
else{
holder = (ViewHolder) convertView.getTag();
}
ContactPerson contacts = contactList.get(position);
holder.ContactName.setText("("+contacts.getName()+")");
holder.contactCheck.setChecked(contacts.isSelected());
holder.contactCheck.setTag(contacts);
holder.ContactName.setText(contacts.getName());
return convertView;
}
}
此代码适用于Dinithe d提到的布局。