Android DatePicker布局自定义

Android DatePicker layout customisation

当DatePicker以日历视图显示时,是否可以在该日历视图的底部添加带有一些文本的标签(如图所示)?我已经尝试查看是否有可能自定义原始 Android DatePicker,看不到任何合适的方法。

您可以从here获取源代码。

为了根据需要自定义布局,您应该修改 layout-land/mdtp_date_picker_dialog.xmllayout-sw600dp-land/mdtp_date_picker_dialog.xml 字段。这里我添加了两个TextViews作为你的截图:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/mdtp_background_color"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="450dp"
        android:gravity="center"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:orientation="vertical">

            <include layout="@layout/mdtp_date_picker_header_view" />

            <include layout="@layout/mdtp_date_picker_selected_date" />

            <include layout="@layout/mdtp_date_picker_footer_view" />

            <TextView
                android:id="@+id/added_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:padding="8dp"
                android:text="Some Text" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical">

            <include layout="@layout/mdtp_date_picker_view_animator" />

            <TextView
                android:id="@+id/added_text2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Some text" />
        </LinearLayout>

    </LinearLayout>

    <include layout="@layout/mdtp_done_button" />
</LinearLayout>

更改相关 dimens 以根据需要找到 TextViews

不久前我也遇到过类似的问题。我建议您使用 this 库。

您可以按照您想要的任何方式自定义此库。只需编辑其布局文件并展开您想要的特定布局。您还可以在布局文件中轻松添加标签。

希望对您有所帮助。