zoukankan      html  css  js  c++  java
  • Android NumberPicker默认外观的修改

    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版本的。由于自己没有使用过,所以不在多写,有需要的同学可以下载使用。

  • 相关阅读:
    8种元素定位方式
    接口MD5加密如何测试?
    web自动化测试框架 —数据驱动测试
    等待方式
    全面开展测试需求分析
    字符串格式化(%方式 与 format方式)
    Python中八大基本数据类型之 集合
    Python中 __new__ 和 __init__ 的区别
    C/S模式与B/S模式的工作原理
    剑指offer--把二叉树打印成多行
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3964102.html
Copyright © 2011-2022 走看看