1.验证所输字符是否为数字 Character.isDigit() , 参数为char类型 2.字符所占区域 String text = "text"; Paint textPaint = new Paint(); Rect rect = new Rect(); textPaint.getTextBounds(text, 0, text.length(), rect);
3.计算字宽 public static float GetTextWidth(String text, float Size) { TextPaint FontPaint = new TextPaint(); FontPaint.setTextSize(Size); return FontPaint.measureText(text); } 4.Resources.getSystem().getDisplayMetrics().density 可以不用 Context 也能获取屏幕密度 5.ArgbEvaluator ArgbEvaluator.evaluate(float fraction, Object startValue, Object endValue);根据一个起始颜色值和一个结束颜色值以及一个偏移量生成一个新的颜色,分分钟实现类似于微信底部栏滑动颜色渐变 6.SparseArray 目前有很多地方从性能优化方说使用SparseArray来替换hashMap,来节省内存,提高性能 7.Linkify.addLinks() 这个类可以更方便的为文本添加超链接 8.模块间有消息需要传递时,使用LocalBroadcastManager替代Listener进行模块解耦。除了解耦,这样发送消息和执行消息差一个线程循环,可以减小方法的调 9.TabLayout 修改字体的方法官方的 TabLayout 没有提供修改 TextView size 的方法,可以新建一个 style CustomTabLayoutTextAppearance 继承 TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse ,然后增加 item ,设置 android:textAllCaps 为 true ,再设置 android:textSize 为你想设置的大小再在 TabLayout 的布局文件里设置 app:tabTextAppearance="@style/CustomTabLayoutTextAppearance" 即可
10.TextView类中的setTransformationMethod(TransformationMethod)方法,可用来实现“显示密码”功能 11.includeFontPadding="false",TextView默认上下是有一定的padding的,有时候我们可能不需要上下这部分留白,加上它即可 12.Formatter.formatFileSize() 这个方法会格式化数据的大小,根据输入的字节大小,返回 B KB MB GB 等等(最大支持到 PB)。当然要注意的是输入的最大值是 Long.MAX_VALUE 13.View.getContext顾名思义,就不用解释了吧…以前在写RecyclerView的Adapter的时候,为了使用LayoutInflater,经常傻乎乎地在构造函数中传入一个外部的context….是不是只有我不知道而已 14.ViewConfiguration.getScaledTouchSlop();触发移动事件的最小距离 15.onTrimMemory,在Activity中重写此方法,会在内存紧张的时候回调(支持多个级别),便于我们主动的进行资源释放,避免OOM 16.如果想要自定义View支持SwipeRefreshLayout,只需要声明并实现ScrollingView接口即可,RecyclerView和NestedScrollView已经实现此接口 17.把View保存为Bitmap,ScrollView
![]()
18.6.0之后getResources().getColor()方法被废弃了,大家可以用ContextCompat.getColor(context, R.color.color_name)替换,ContextCompat 是 v4 包里的,请放心使用,另外还有getDrawable()等方法 19.