博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 通过反射获取DatePicker 中的控件,并改变其颜色
阅读量:6651 次
发布时间:2019-06-25

本文共 1979 字,大约阅读时间需要 6 分钟。

 

 

到最后也只是成功改变了中间部分的颜色。

 

 

 

private void setDatePickerDividerColor(DatePicker datePicker) {        // Divider changing:        // 获取 mSpinners        LinearLayout llFirst = (LinearLayout) datePicker.getChildAt(0);        // 获取 NumberPicker        LinearLayout mSpinners = (LinearLayout) llFirst.getChildAt(0);        for (int i = 0; i < mSpinners.getChildCount(); i++) {            NumberPicker picker = (NumberPicker) mSpinners.getChildAt(i);            Field[] pickerFields = NumberPicker.class.getDeclaredFields();            for (Field pf : pickerFields) {                pf.setAccessible(true);                String pfString = pf.getName();                try {                    if (pfString.equals("mSelectionDivider")) {                        pf.set(picker, new ColorDrawable(Color.parseColor("#ffffff")));//设置分割线颜色                        break;                    } else if (pfString.equals("mInputText")) {                        EditText mInputText = (EditText) pf.get(picker);//获得该属性对应的对象                        mInputText.setTextColor(view.getResources().getColor(R.color.white));                        break;                    } else if (pfString.equals("mSelectorWheelPaint")) {                        Paint mPaint = (Paint) pf.get(picker);//获得该属性对应的对象                        mPaint.setColor(view.getResources().getColor(R.color.white));                        break;                    } else if (pfString.equals("mVirtualButtonPressedDrawable")) {                        pf.set(picker, new ColorDrawable(Color.parseColor("#ffffff")));                        break;                    }                } catch (IllegalArgumentException e) {                    e.printStackTrace();                } catch (Resources.NotFoundException e) {                    e.printStackTrace();                } catch (IllegalAccessException e) {                    e.printStackTrace();                }            }        }    }

 

转载于:https://www.cnblogs.com/lipeineng/p/7903047.html

你可能感兴趣的文章
SQL注入与Java
查看>>
那些强悍的PHP一句话后门
查看>>
C# 文件下载 : WebClient
查看>>
JavaScript Ajax之美
查看>>
oracle linux 启动
查看>>
C# 一个多层循环中,break一次能跳出几个循环?
查看>>
脚本大全
查看>>
PostgreSQL 允许远程访问设置方法
查看>>
eclipse中project->clean的作用是什么
查看>>
【转】bash 参数展开(Parameter Expansion)
查看>>
CSS之div和span标签
查看>>
攻入Javascript,究竟什么是AJAX
查看>>
ASP.NET MVC:通过FileResult向浏览器发送文件
查看>>
Mac下关闭Sublime Text 3的更新检查
查看>>
Linux 块I/O子系统
查看>>
$ -----JavaScript 中美元符号 $ 的作用
查看>>
2017年网站安全狗绕过WebShell上传拦截的新姿势
查看>>
利用递归将数组转码
查看>>
使用VPD解决EBS中信息屏蔽问题
查看>>
解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法...
查看>>