Android NumberPicker默认外观的修改

本文介绍如何通过继承NumberPicker来自定义其样式,包括字体大小和颜色等,并提供了代码示例。同时,提到了对于需要支持Android 3.0及更早版本的应用,可以使用GitHub上的开源NumberPicker控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  NumberPicker是Android3.0之后引入的一个控件,在以后的TimePicker和DatePicker时间控件里边都有引用,NumberPicker本身并没有提供接口给开发者修改其默认外观,这里延续前篇博客的内容(调整TimePicker,DatePicker的大小、样式),提供一个修改NumberPicker默认外观(主要是修改字体大小,颜色)的方法。如果你是使用Android3.0以后的版本,而且你只需要修改NumberPicker的字体,那这是最偷懒的方法。效果还是先上图。

      

  左边红色方框里边是一个NumberPicker控件,修改了它的字体和颜色。

  实现的方法是使用CustomNumberPicker继承NumberPicker控件,在其子控件EditText加载时修改其属性,详细如下:

public class CustomNumberPicker extends NumberPicker 
{

    public CustomNumberPicker(Context context, AttributeSet attrs) 
    {
        super(context, attrs);
    }

    @Override
    public void addView(View child)
    {
        super.addView(child);
        updateView(child);
    }

    @Override
    public void addView(View child, int index,
            android.view.ViewGroup.LayoutParams params)
    {
        super.addView(child, index, params);
        updateView(child);
    }

    @Override
    public void addView(View child, android.view.ViewGroup.LayoutParams params) 
    {
        super.addView(child, params);
        updateView(child);
    }

    public void updateView(View view)
    {
        if (view instanceof EditText) 
        {
             //这里修改字体的属性
            ((EditText) view).setTextSize(12); 
            ((EditText) view).setTextColor(Color.RED);
        }
    }

}    

  然后再xml文件使用CustomNumberPicker替换NumberPicker就可以了。

  但是大部分的应用需要支持Android3.0以前的版本,这个时候你就需要自己写NumberPicker控件了,幸运的是这部分工作,已经有人替你做了,你只需要拿来主义就好了。

  来自于GitHub的NumberPicker控件,点击下载后就可以使用。它是根据Android的源码编写,结合library使用,而达到后向兼容Android版本的。由于自己没有使用过,所以不在多写,有需要的同学可以下载使用。

 

 

 

转载于:https://www.cnblogs.com/shaddock2013/p/3224867.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值