项目随笔之大小系列: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);
}
原文地址:https://www.cnblogs.com/vitabebeauty/p/7305965.html