项目随笔之大小系列:px,sp,dp;java设置大小(LayoutParams)

Posted callMeVita

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目随笔之大小系列:px,sp,dp;java设置大小(LayoutParams)相关的知识,希望对你有一定的参考价值。

随笔一:

px:物理像素 最简单的理解。之前前端学的rpx是1:2的关系;下意识认为 px与dp是2:1的关系,其实不然,而且由于安卓设备众多,所以还是根据分辨率来记。

dp:待会详解配图;先简单记录一下 dp的出现是为了保证组件 在不同分辨率的手机上显示得视觉大小大致相同。越清晰的屏幕 分辨率越高 1dp包含越多的像素点 等于更多px。

sp:字体大小用它 特点 大小不随屏幕大小分辨率而变化,根据系统设置的 字体大小 小 中 大 的选项进行变化。

随笔二:

一般情况下 根据机型的不同 屏幕大小也不同 有时要根据屏幕大小进行相应的高宽设置。这个可以在java中完成:

ViewGroup.LayoutParams recycleViewParams =  mRecommandGrid.getLayoutParams();

        if (recycleViewParams!=null){
            int mPadding = DensityUtil.dip2px(getContext(), 10);
            int mScreenHeight = getContext().getResources().getDisplayMetrics().heightPixels;
            int mScreenWidth = getResources().getDisplayMetrics().widthPixels;
            recycleViewParams.height  = mScreenHeight/4;
            recycleViewParams.width = mScreenWidth-2*mPadding;
            mRecommandGrid.setLayoutParams(recycleViewParams);
}

 

以上是关于项目随笔之大小系列:px,sp,dp;java设置大小(LayoutParams)的主要内容,如果未能解决你的问题,请参考以下文章

安卓之屏幕显示

Android UI里1px等于多少dp?

android程序中字体大小的单位是啥?

android px,dp,sp大小转换工具

AS开发实战第二章学习笔记——其他

Android 中的长度单位详解