常见布局问题

  1、Viewpager 分割点分距 一定要用 LinearLayout.LayoutParams 用FrameLayout.LayoutParams实现不了

 

2、给editText设置框

 android:background="@android:drawable/edit_text"设置后 editText有边框 

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);

放在setContentView();之前可以全屏

3、获取屏幕宽高(像素)

  1. int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px)  
  2. int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p)  
  3. DisplayMetrics metric = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metric);
    int width = metric.widthPixels; // 屏幕宽度(像素)
    int height = metric.heightPixels; // 屏幕高度(像素)
    float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
    int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)

 4、关于布局以及子控件 获取焦点问题

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

                android:layout_width="match_parent"

                android:layout_height="match_parent"

                android:descendantFocusability="blocksDescendants"   设置子控件不获取焦点

        >

在子控件中添加属性  获取焦点 这样外层布局就失去了焦点

android:focusable="true"


5、设置屏幕模式(横竖屏)

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

6、dp与像素之间的转换

metrics.density=metrics.densityDPI/160
px代表像素  dpi表示屏幕密度
px=dp*(dpi/160)  
px=dp*metrics.density



原文地址:https://www.cnblogs.com/bimingcong/p/4873328.html