知识 点点

来源:互联网 发布:切歌软件 编辑:程序博客网 时间:2024/04/27 19:01

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);
    }