AutoSize是今日头条使用的屏幕适配方案。 下面是集成方法: 2. 添加AndroidManifest配置,填写基准设计尺寸(单位为dp): *3.如果UI给出的尺寸跟基准尺寸不一样,可以通过实现CustomAdapt进行适配;
Android屏幕适配(二):AutoSize今日头条屏幕适配方案
原理:调用Android API,根据设备某一维度(宽或高)的真实长度(单位是px)与这一维度在UI设计图上的dp值之间的关系,重新计算density来实现。
优点:1.支持以宽或者高任意一个维度去适配,保持该维度上和设计图一致;
2.支持dp和sp单位,控制迁移成本到最小。
1.添加gradle配置代码:implementation 'me.jessyan:autosize:1.1.2'
<manifest> <application> ... <meta-data android:name="design_width_in_dp" android:value="360"/> <meta-data android:name="design_height_in_dp" android:value="640"/> ... </application> </manifest>
4.1如果该页面不需要进行适配,可以通过implements CancelAdapt 取消适配。
下面是获取屏幕尺寸的方法:private void getScreenSize(){ //获取屏幕分辨率 DisplayMetrics metric=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width=metric.widthPixels; // 宽度(PX) int height=metric.heightPixels; // 高度(PX) float density=metric.density; // 密度(0.75 / 1.0 / 1.5) int densityDpi=metric.densityDpi; // 密度DPI(120 / 160 / 240) //屏幕宽度算法:屏幕宽度(像素)/屏幕密度 int screenWidth = (int) (width/density);//屏幕宽度(dp) int screenHeight = (int)(height/density);//屏幕高度(dp) String a = "宽度:" + width + " 高度:" + height + " 密度:" + density + " 密度DPI:" + densityDpi + "rn屏幕dp宽度:" + screenWidth + " 屏幕dp高度:" + screenHeight; Toast.makeText(MainActivity.this, a, Toast.LENGTH_LONG).show(); }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算