android屏幕 像素 DP 相关计算
16lz
2022-03-17
//获取屏幕宽度:
Context context=MainActivity.this;
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
int mScreenWidth = outMetrics.widthPixels;
//1DP等于多少像素 PX = density * DP 或者 dp=outMetrics.widthPixels/outMetrics.density
//可以用下面公式 计算1DP占多少像素,
int dpx=(int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, context.getResources().getDisplayMetrics());
Log.v("zms", "屏幕宽度:"+mScreenWidth+"像素"+", 像素密度::"+outMetrics.densityDpi+" 像素比:"+outMetrics.density
+"\n 1DP等于"+dpx+"个像素,屏幕总共占"+mScreenWidth/outMetrics.density+"个dp");
中兴z5s手机 : 5寸 分辨率 1920*1080 像素密度 441 计算结果: 屏幕宽度:1080像素, 像素密度::480(441会算成480xxh) 像素比:3.0
1DP等于3个像素,屏幕总共占360.0个dp
layout-small(屏幕尺寸小于3英寸左右的布局),
layout-normal(屏幕尺寸小于4.5英寸左右),
layout-large(4英寸-7英寸之间),
layout-xlarge(7-10英寸之间)
* view.getX() 获取的是控件左上角相对于 父控件 左上角的像素
* view.getTranslationX 获取相对于 父控件的是偏移量,相对于创建视图时的原始位置,不管中间动画移动了多少次,都是相对于开始时候的距离
更多相关文章
- Android的计量单位px,in,mm,pt,dp,dip,sp
- 全局窗口一
- 全局窗口一
- android输入法控制显示
- android之纵横屏幕切换时保存数据
- android scrollview滑动时悬浮部分控件
- Android(安卓)复用自制的控件(2)
- android实现播放器反射性动画效果
- 像素鸟(flapybird)的简单实现