在本文中,Android ViewGroup/View流程,及经常使用的自己定义ViewGroup的方法.在此基础上介绍动态控制View的位置的三种方法,并给出最佳的一种方法. 一.ViewGroup/View的绘制流程 简单的说一个View从无到有须要三个步骤,onMeasure.onLayout.onDraw,即測量大小.放置位置.绘制三个步骤. 而ViewGroup的onMeasure.onLayout流程里,又会遍历每一个孩子.并终于调到孩子的measure().layout()函数里.…
dip(dp): device independent pixels(设备独立像素) dip,就是把屏幕的高分成480分,宽分成320分.比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度. dpi:dot per inch dpi=(√(横向分辨率^2+纵向分辨率^2))/屏幕尺寸) ppi:pixels per inch(跟dpi一样) 计算了一下小米手机屏幕的PPI,4.0英寸.分辨率854X480,PPI(DPI)   =√(854^2+480^2)/4=…
最近玩的比较欢脱,欠了好多东西没写.今天先简单地补一篇简单的内容.就是最近涉及到一个锁定Android设备屏幕的设计,大概就是通过一个按钮或者服务消息,来控制设备界面完全锁定,不能点击任何东西.感觉上这个需求可能会涉及很多东西,然而做起来发现并没有...内容很简单,跟着代码快速过一遍. 本文地址:http://www.cnblogs.com/rossoneri/p/4409691.html 主界面就放一个按钮来触发事件好了: 按下按钮后显示另一个锁屏界面,同时加上一个解锁按钮(如果不加的话怎么退…
)密度无关像素,单位为dp,是Android特有的单位 Android开发时通常使用dp而不是px单位设置图片大小,因为它可以保证在不同屏幕像素密度的设备上显示相同的效果. /** * dp与px的转换 * Created by SEU_Calvin on 2016/09/28 */ public class DensityUtils { public static int dp2px(float dp , Context context){ float density = context.ge…
android获取屏幕的高度和宽度用到WindowManager这个类,两种方法:   1.WindowManager wm = (WindowManager) getContext()                     .getSystemService(Context.WINDOW_SERVICE);        int width = wm.getDefaultDisplay().getWidth();      int height = wm.getDefaultDisplay(…
一:不同的layout Android手机 屏幕 大小不一,有480x320, 640x360, 800x480.怎样才能让App自动 适应不同的屏幕 呢?      其实很简单,只需要在res目录下创建不同的layout文件 夹,比如layout-640x360,layout-800x480,所有的layout文件在编译 之后都会写入R.java里,而系统 会根据屏幕 的大小自己选择合适的layout进行使用.   二:hdpi.mdpi.ldpi 在之前的版本中,只有一个drawable,而…
1.在xml布局文件中,控件的宽度和高度用  dp ;   字体大小用 sp 2.根据屏幕的宽高来动态的适配 , 获取屏幕的宽高的两种方法: 第一种方法: /** * 屏幕的宽度 * 屏幕的高度 * @return */ public void initPhone1( Activity activity ){ int phone_Width = activity.getWindowManager().getDefaultDisplay().getWidth() ; //单位是 px int ph…
1.获取Android 手机屏幕宽度 1 DisplayMetrics dm = new DisplayMetrics(); 2 this.getWindowManager().getDefaultDisplay().getMetrics(dm); 3 Toast.makeText(getApplicationContext(), dm.widthPixels + "-" 4 + dm.heightPixels, Toast.LENGTH_LONG).show(); 2. 获取图片宽度…
1.Android 4.3引入的wm工具: a.获取Android设备屏幕分辨率: adb shell wm size b.获取android设备屏幕密度: adb shell wm density Wm.java public class Wm extends BaseCommand { ... public void onShowUsage(PrintStream out) { out.println( "usage: wm [subcommand] [options]\n" +…
原文:Android 获取屏幕分辨率 得到一个屏幕尺寸的三种方法如下:        // 通过WindowManager获取        DisplayMetrics dm = new DisplayMetrics();        getWindowManager().getDefaultDisplay().getMetrics(dm);        // 通过Resources获取         DisplayMetrics dm2 = getResources().getDisp…