1. android:textColorHight : 文字被选择的时候,高亮的颜色
2. seekbar控件背景图片及最大值
android:progressDrawable="@drawable/seekbar_img"
android:thumb="@drawable/thumb"
android:max = "30"
3 . 在使用RelativeLayout,多个view之间存在相对关系时,其中一个view调用GONE后,会影响与其关联的Views,这时可以设置属性 android:layout_alignWidthParentIfMissiong= "true";让其与 父级View对齐。
4. <ViewStub/> 标签,能够提高布局的重用性,默认情况下,ViewStub所包含的View处于不可见状态,类似于设置了 Visibility = "GONE";重要一点是ViewStub 所包含的Views在默认情况下不会占用内存空间。
ViewStub通过inflate()方法告诉系统加载包含的View。
5. <merge/>标签, 能够优化UI机构。通过删减多余的层级达到优化整个Layout的效果。
注意:
- 如果所创建的Layout不是用FrameLayout作为根节点,就达不到使用merge优化结构的效果。
- <merge>只可作为Layout的根节点。
- 当一个由merge作为根节点的Layout需要导入 XML Layout时,应将XML Layout置于ViewGroup中,同时设置 attachToRoot 为 true。
6. 计算字宽
public float getTextWidth(String text, float Size) {
TextPaint FontPaint = new TextPaint();
FontPaint.setTextSize(Size);
return FontPaint.measureText(text);
}
7 平板判断
public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
8 准确获取屏幕尺寸
public static double getScreenPhysicalSize(Activity ctx) {
DisplayMetrics dm = new DisplayMetrics();
ctx.getWindowManager().getDefaultDisplay().getMetrics(dm);
double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2));
return diagonalPixels / (160 * dm.density);
}