我想要一个完全如图所示的自定义日期时间选择器对话框。
在我的项目中,点击位于TextView
的{{1}}时会显示对话框。我知道我需要使用NumberPickers填充日期从当前日期到下周的所有日期。
默认的android日期和时间选择器不适合我的要求所以我需要创建自己的自定义`DateTimePicker fragmentDialog'。
我需要的DateTimePicker
Fragment
编辑:好了,现在这就是我想要的,但现在我想在今天的日期之前禁用日期以及仅显示7天Ex。如果今天10日,那么在10日之前禁用所有日期并且显示日期仅为10,11,12,14,15,16,17。
<LinearLayout
android:background="@color/background_default_white"
style="@style/LinearPageLayout"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:textSize="20sp"
android:textStyle="normal"
android:textColor="@color/text_default_black"
android:gravity="center"
android:layout_gravity="center"
android:id="@+id/custom_picker_title"
android:background="@color/background_default_white"
android:paddingLeft="15dp"
android:layout_width="300dp"
android:layout_height="45dp"
android:text="@string/MessageChangeDateRange" />
<View
android:visibility="visible" style="@style/Spliter" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="25dp">
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0">
<NumberPicker
android:layout_gravity="center"
android:id="@+id/custom_picker_month"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0">
<NumberPicker
android:layout_gravity="center"
android:id="@+id/custom_picker_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />n
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2.3">
<NumberPicker
android:layout_gravity="center"
android:id="@+id/custom_picker_date_full"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0">
<NumberPicker
android:layout_gravity="center"
android:id="@+id/custom_picker_hour"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0">
<NumberPicker
android:layout_gravity="center"
android:id="@+id/custom_picker_minute"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0">
<NumberPicker
android:layout_gravity="center"
android:id="@+id/custom_picker_ampm"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<View style="@style/Spliter" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/custom_picker_set"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Set"
style="@style/DefaultButtonFill" />
</LinearLayout>
}