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

Android NumberPicker默认外观的修改的更多相关文章

  1. android模拟器默认位置的修改

    1.创建ANDROID_SDK_HOME环境变量,如ANDROID_SDK_HOME=D:\eclipse_android\android-sdk 2.在ANDROID_SDK_HOME目录下,建立. ...

  2. Android 系统默认参数的修改

    转自: http://www.th7.cn/Program/Android/201505/447097.shtml 写在前面的话 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置, ...

  3. Android系统默认输入法的修改为搜狗输入法

    1.  frameworks\base\packages\SettingsProvider\res\values\defaults.xml 文件中修改默认输入法为搜狗输入法 <stringnam ...

  4. Android之拨号界面图片风格,无信息默认显示界面修改

    Android之拨号界面图片风格,无信息默认显示界面修改 点开Dialer app,出现拨号,联系人,收藏三个选项卡,也就是三个Fragment,在三个界面都没有信息的时候会显示一个时钟,联系人,收藏 ...

  5. Android EditText默认不弹出输入法,以及获取光标,修改输入法Enter键的方法

    一.Android EditText默认不弹出输入法的办法:1. 在AndroidManifest.xml中将需要默认隐藏键盘的Activity中添加属性即可(常用此方法) android:windo ...

  6. 修改Android Studio默认的API Level(SDK版本)

    原文:修改Android Studio默认的API Level(SDK版本) Android Studio(2.1.2)新建工程的时候只会让你选择最低支持的SDK版本,默认的目标编译SDK版本会以系统 ...

  7. Android源码分析(九)-----如何修改Android系统默认时间

    一 : 修改Android系统默认时间 源码路径:frameworks/base/services/java/com/android/server/SystemServer.java 主要变量EARL ...

  8. Android系统默认设置

    修改Settings源码,可修改系统设置项,Settings数据被存放于com.android.providers.settings/databases/settings.db中,如果想修改系统启动后 ...

  9. Android 开机默认横竖屏

    做Android系统开发时,经常遇到机器开机默认横竖屏问题,现整理如下: 方法一:修改WindowManagerService.java 在这个类中修改int mRotation = 0;这个值即可. ...

随机推荐

  1. c# 使用递归 循环遍历导航树结构 并解析

    1.数据书库结构 1 家用电器 0 一级菜单 2 手机.数码.京东通信 0 一级菜单 3 电脑.办公 0 一级菜单 4 家具.家居.厨房 0 一级菜单 5 男装.女装.童装.内衣 0 一级菜单 6 个 ...

  2. libthrift0.9.0解析(五)之TNonblockingServer&THsHaServer

    本文是一边看代码一边写的,是真随笔,随看随下笔. 看TNonblockingServer,先看其父类AbstractNonblockingServer.一般来说,父类封装的都是通用的东西,具体的底层实 ...

  3. 《C# 并发编程 · 经典实例》读书笔记

    前言 最近在看<C# 并发编程 · 经典实例>这本书,这不是一本理论书,反而这是一本主要讲述怎么样更好的使用好目前 C#.NET 为我们提供的这些 API 的一本书,书中绝大部分是一些实例 ...

  4. uvalive 5721 Activation (概率dp+方程)

    题目链接:http://vjudge.net/problem/viewProblem.action?id=24999 主要思想就是解方程的思想. 二维dp应该很容易想到,就是当前位置加队伍长度. dp ...

  5. 【USACO 2.1.4】荷斯坦奶牛

    [题目描述] 纪念“逝去”的Wecing 农民JOHN以拥有世界上最健康的奶牛为傲.他知道每种饲料中所包含的牛所需的最低的维他命量是多少.请你帮助农夫喂养他的牛,以保持它们的健康,使喂给牛的饲料的种数 ...

  6. c#利用WebClient和WebRequest获取网页源代码

    C#中一般是可以利用WebClient类和WebRequest类获取网页源代码.下面分别说明这两种方法的实现.   WebClient类获取网页源代码   WebClient类   WebClient ...

  7. Windows Phone 使用 WriteableBitmap后台生成图片

    这几天项目是遇到一个需求,需要后台把几个元素生成到一张图片上,并保存到文件中 private void cutscreen_Click(object sender, EventArgs e) { Gr ...

  8. 使用Jquery解析Json

    利用原生JSON对象,将对象转为字符串 [javascript] view plaincopy var jsObj = {};   jsObj.testArray = [1,2,3,4,5];   j ...

  9. Android学习----AndroidManifest.xml文件解析

    一个Android应用程序的结构: 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了pack ...

  10. Centos7下Intel与AMD双显卡驱动的安装

      前2天,在Nvidia单显卡上成功安装上了NVIdia的驱动,一时兴起,拿出另外的一个HP笔记本也准备装上驱动,悲催的是HP的显卡是AMD的,更加.更加悲催的是还是Intel+AMD的双显卡.网络 ...