android如何在右侧设置复选框图标?

时间:2014-03-11 06:33:54

标签: android xml checkbox

我正在制作一个api,其中我在我的xml文件中使用复选框。问题是我的复选框图标显示在左侧。但我想移动我的复选框右侧靠近文本“男”或“女”。像这样.. enter image description here

但目前我正在这样看...

enter image description here

我想在右侧使用我的checkicon选项..,我已经使用了这个代码......我的xml ...

<RelativeLayout
    android:id="@+id/header_layout"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:background="#43A6E5" >

    <TextView
        android:id="@+id/tv_header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Earn 1 PTS for every Chat you Receive"

        android:textColor="#FFF200"
        android:textSize="18dp" />
</RelativeLayout>

<View
    android:id="@+id/view1"
    android:layout_width="fill_parent"
    android:layout_height="6dp"
    android:layout_below="@+id/header_layout"
    android:layout_centerHorizontal="true"
    android:background="#46B1F6" />

<RelativeLayout
    android:id="@+id/edt_layout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/view1"
    android:background="#46B1F6" >

    <EditText
        android:id="@+id/et_mail"
        style="@style/EdittextStyle"
        android:layout_alignLeft="@+id/et_name"
        android:layout_alignRight="@+id/et_name"
        android:layout_below="@+id/et_name"
        android:background="@drawable/rounded_edittext"
        android:text="  Your Email" >

        <requestFocus />
    </EditText>

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="80dp"
        android:layout_height="35dp"
        android:layout_alignLeft="@+id/et_mail"
        android:layout_below="@+id/et_mail"
        android:layout_marginTop="33dp"
        android:background="@drawable/rounded_edittext" />

    <EditText
        android:id="@+id/editText1"
        style="@style/EdittextStyle"
        android:layout_alignBottom="@+id/spinner1"
        android:layout_alignRight="@+id/et_mail"
        android:layout_marginLeft="14dp"
        android:layout_toRightOf="@+id/spinner1"
        android:background="@drawable/rounded_edittext"
        android:text="  Your Phone"
        android:textColor="#ffffff" />

    <EditText
        android:id="@+id/et_name"
        style="@style/EdittextStyle"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="29dp"
        android:background="@drawable/rounded_edittext"
        android:text="  Your Name" />

    <!-- android:background="@drawable/rounded_edittext" /> -->

</RelativeLayout>

<RelativeLayout
    android:id="@+id/checkbox_layoyt"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/edt_layout"
    android:layout_marginTop="34dp" >

    <CheckBox
        android:id="@+id/cb_male"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="29dp"
        android:background="@drawable/rounded_edittext"
        android:text=" Male"
        android:textColor="#ffffff"
        android:textSize="18dp" />


    <CheckBox
        android:id="@+id/cb_female"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="18dp"
        android:layout_toRightOf="@+id/cb_male"
        android:background="@drawable/rounded_edittext"
        android:text=" Female"
        android:textColor="#ffffff"
        android:textSize="18dp" />
</RelativeLayout>

<Button
    android:id="@+id/button1"
    android:layout_width="250dp"
    android:layout_height="40dp"
    android:layout_below="@+id/checkbox_layoyt"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="27dp"
    android:background="@drawable/mybutton"
    android:gravity="center"
    android:text="Create Account"
    android:textColor="#ffffff"
    android:textSize="22dp" />

<TextView
    android:id="@+id/textview_agree"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="16dp"
    android:gravity="center"
    android:text="I agree to the terms and conditions"
    android:textColor="#ffffff"
    android:textSize="14dp" />

三江源..

7 个答案:

答案 0 :(得分:7)

试试这个..您可以使用 CheckedTextView 代替 CheckBox 来满足您的需求..此外,它几乎具有与CheckBox类似的所有属性,因此您可以通过java检查/取消选中它也可以不使用任何外部可绘制图像,并根据不同的条件更改它们的来源,这可能证明是昂贵的,并且在时间上变得一团糟..

<RelativeLayout
        android:id="@+id/checkbox_layoyt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/edt_layout"
        android:layout_marginTop="34dp" >

        <CheckedTextView
            android:id="@+id/cb_male"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="29dp"
            android:checkMark="?android:attr/listChoiceIndicatorMultiple"
            android:checked="false"
            android:gravity="center"
            android:text=" Male"
            android:textColor="#000000"
            android:textSize="18dp" />

        <CheckedTextView
            android:id="@+id/cb_female"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="18dp"
            android:layout_toRightOf="@+id/cb_male"
            android:checkMark="?android:attr/listChoiceIndicatorMultiple"
            android:checked="false"
            android:gravity="center"
            android:text=" Female"
            android:textColor="#000000"
            android:textSize="18dp" />
    </RelativeLayout>

答案 1 :(得分:6)

在复选框中使用以下属性:

Set android:button="@null";
Set android:drawableRight="@drawable/YOUR_CHECKBOX_BUTTON"

希望它会奏效。

答案 2 :(得分:2)

 <RelativeLayout
                android:id="@+id/xml_associate_relative_radio_career"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingBottom="@dimen/common_left_right_margin"
                android:paddingTop="@dimen/common_left_right_margin" >

                <ImageView
                    android:id="@+id/xml_associate_img_career"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:gravity="center_vertical"
                    android:alignparentRight="true"
                    android:src="@drawable/sel_radiobtn_click" />

                <TextView
                    android:id="@+id/xml_associate_txt_career"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_toLeftOf="@+id/xml_associate_img_career"
                    android:gravity="center_vertical"
                    android:paddingLeft="@dimen/common_left_right_margin"
                    android:paddingRight="@dimen/common_padding_left_right"
                    android:text="@string/associate_career"
                    android:textColor="@color/common_color_blackdarkergrey"
                    android:textSize="@dimen/common_font_16sp" />
            </RelativeLayout>

请使用此代码..... imageview设置复选框图像..您已使用相对布局点击事件。

答案 3 :(得分:2)

只需将其添加到Checkbox XML代码:

android:button="@null"
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"

这适合我。

答案 4 :(得分:1)

使用此功能。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<CheckBox
    android:id="@+id/checkBox1"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="68dp"
    android:paddingRight="100dp" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="32dp"
    android:text="Male"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/checkBox1"
    android:layout_alignBottom="@+id/checkBox1"
    android:layout_centerHorizontal="true"
    android:text="Female"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<CheckBox
    android:id="@+id/checkBox2"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/textView2" />

</RelativeLayout>

答案 5 :(得分:1)

最简单的方法是:

<RelativeLayout
android:id="@+id/checkbox_layoyt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/edt_layout"
android:layout_marginTop="34dp" >
 <CheckBox
    android:id="@+id/checkBox1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="31dp"
    android:layout_marginTop="43dp"/>

<CheckBox
    android:id="@+id/checkBox2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/checkBox1"
    android:layout_alignBottom="@+id/checkBox1"
    android:layout_centerHorizontal="true" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/checkBox2"
    android:layout_alignBottom="@+id/checkBox2"
    android:layout_toRightOf="@+id/button1"
    android:text="@string/male" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/checkBox1"
    android:layout_alignBottom="@+id/checkBox1"
    android:layout_toLeftOf="@+id/checkBox1"
    android:text="@string/female" />
</RelativeLayout>

Output

Result

答案 6 :(得分:1)

将此设置为您的按钮:

android:drawableRight="@drawable/YOUR_CHECKBOX_BUTTON"