Android-PickerView 三级联动选择器的标题和内容的字体大小、颜色设置

####**Android-PickerView这个开源项目已经转交给我负责继续维护,目前我已经更新优化一部分,填补了一些不足之处,推出了3.x新版本,使用起来更加灵活方便,定制性更强。欢迎提Issue ,Pull Request **

更新时间:2017-2-24日

###以下是去年在使用2.1.1版本遇到的问题,目前2.x版本我已经分支出去,停止更新。推出了3.x版本。

——————————————————————————————————————————————————————————————————————————————————————

最近项目中使用了Android-PickerView用来做省市区三级联动选择器,感觉项目中有些地方处理得不是蛮恰当,自己做了下改动记录一下。
项目GitHub地址:https://github.com/saiwu-bigkoo/Android-PickerView.git

项目的默认效果:

Android-PickerView 三级联动选择器的标题和内容的字体大小、颜色设置_第1张图片

用过这个项目的朋友想必会发现,默认的选择器字体大小好像偏大了点,那么要改小一点怎么办? 找来找去,发现OptionsPickerView 类中,只有一个标题可设置,那么标题的字体大小,以及确定,取消按钮,还有内容的字体大小该怎么设置呢?

想了想,第一个方法是,把该项目源代码拷贝到自己项目中去应用,根据自己的需求修改其布局文件和源码逻辑等,问题便解决了。

第二个方法是:通过在自己的项目中覆写依赖项目的XML文件,来替换控件所引用的属性值。步骤如下:
(开发工具 Android Studio)
1.找到依赖的项目,打开res-layout布局目录,找到选择器的布局文件pickerview_options.xml:
Android-PickerView 三级联动选择器的标题和内容的字体大小、颜色设置_第2张图片

Android-PickerView 三级联动选择器的标题和内容的字体大小、颜色设置_第3张图片

点击选择器中所引用的属性值,会自动跳转到values-values文件里,发现dimens 属性分别是这样的:

20sp
20sp
44dp
21sp
#000000
#057dff
#c2daf5

找到这些属性之后,将其复制到自己项目的 values-dimens 文件中,然后修改想要实现的值就行了,另外在values目录下,创建一个 bools.xml 文件,加上这个属性,属性值填true:
true
,完成后,编译运行一次,发现大功告成。
修改后的效果如下:

Android-PickerView 三级联动选择器的标题和内容的字体大小、颜色设置_第4张图片

字体没那么大了
顺便补充一下原项目中没有考虑到的,已经弹出选择框的情况下,点击系统返回键没有 dismiss的小bug:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            if (pvOptions!=null&&pvOptions.isShowing()) {//对象不为空且已经显示
                pvOptions.dismiss();
                return true;
            }
        }
        return super.onKeyDown(keyCode, event);
    }

你可能感兴趣的:(Android,Android开源项目)