如何更改Android复选框样式

时间:2013-07-26 21:03:31

标签: android checkbox styles

我需要一些帮助来自定义复选框的外观。 我的xml文件是

<LinearLayout 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"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >
    <TextView
        android:id="@+id/titleTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:padding="10dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="@string/preferances_title"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="26sp" />
    <CheckBox
        android:id="@+id/soundCheckBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:gravity="center_vertical"
        android:paddingBottom="10dp"
        android:text="@string/soundEnabled"
        android:textSize="20sp" />
</LinearLayout>

看起来像这样

enter image description here

我希望我的复选框看起来像这样(标题和说明)

enter image description here

我该怎么做?

2 个答案:

答案 0 :(得分:1)

好了(据我所知)你想创建一个偏好屏幕。

我建议您使用PreferenceFragment或PreferenceActivity来扩展其布局 来自xml。

互联网上有很多例子只是搜索:偏好设置屏幕教程

我相信第二张图片使用CheckBoxPreference, 因此,如果您想创建类似第二个图像的内容,可以在xml中使用它 它将具有完全相同的视图。

<CheckBoxPreference
            android:defaultValue="false"
            android:icon="@drawable/image"
            android:key="preference_key"
            android:summary="@string/preference_summary"
            android:title="@string/preference_title" />

请注意,CheckBoxPreference不能用于所有布局,只能用于PreferenceActivity

否则,如果你想创建这样的东西,但没有偏好,你可以使用 CheckedTextView ,右侧有一个复选框,但没有字幕,您需要在布局中添加为textview。

答案 1 :(得分:0)

您应该使用RelativeLayout来获取第二张图片中的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:text="Lock screen notifications"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:text="Show notifications on lock screen" />

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignParentRight="true" />

</RelativeLayout>