android datepicker自定义样式,android DatePicker样式

博客讲述了作者在Android开发中遇到日期选择器样式不符需求的问题,通过百度搜索找到了解决方案,即在DatePicker中添加主题样式控制。同时,文章提到了Android系统提供的多种内置样式和主题,并建议开发者参考源码进行学习。
摘要由CSDN通过智能技术生成

第一次使用日期选择器

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:layout_margin="5dp">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="请选择日期"

android:gravity="center"/>

android:id="@+id/date_picker"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="5dp"

android:layout_gravity="center">

发现我的选择器是这个样子的

fdb5d86162a0

QQ图片20170724121250.png

可是我需要的样子是这个样子的

fdb5d86162a0

QQ图片20170724121842.png

问了群友,没有直接得到答案。

最后还是百度到了结果。

在DatePicker加一句样式控制就可以了。

android:theme="@android:style/Theme"

顺便整理下android系统自带的各种样式

使用Android提供的Style和Theme:

Android平台提供了大量的styles和themes,可以在android包中的R.style下找到,但是Android现在并未提供关于styles和themes的相关文档说明,具体可以参考styles.xml源码 和themes.xml源码 ,扫了一下,描述的很清楚。

要在Android Studio中重写DatePicker自定义样式,你需要执行以下步: 1. 创建一个新的自定义DatePicker类,继承自DatePicker或AppCompatDatePicker,这取决于你的项目中使用的主题。 ```java public class CustomDatePicker extends DatePicker { public CustomDatePicker(Context context) { super(context); init(); } public CustomDatePicker(Context context, AttributeSet attrs) { super(context, attrs); init(); } public CustomDatePicker(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { // 在这里进行自定义样式的设置 } } ``` 2. 在布局文件中使用你的自定义DatePicker代替原始的DatePicker。 ```xml <com.example.app.CustomDatePicker android:id="@+id/customDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content"/> ``` 3. 在你的自定义DatePicker类中,可以通过覆盖`onMeasure()`方法来设置DatePicker的大小。 ```java @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // 设置你想要的大小 int desiredWidth = MeasureSpec.getSize(widthMeasureSpec); int desiredHeight = MeasureSpec.getSize(heightMeasureSpec); setMeasuredDimension(desiredWidth, desiredHeight); } ``` 4. 如果你想要改变DatePicker样式,可以通过覆盖`onDraw()`方法来绘制你自己的样式。 ```java @Override protected void onDraw(Canvas canvas) { // 在这里绘制你的自定义样式 super.onDraw(canvas); } ``` 这样,你就可以在Android Studio中重写DatePicker自定义样式了。记得在自定义样式中添加你想要的日期选择器的外观和行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值