Android-多分辨率屏幕适配

2020-04-07  本文已影响0人  小呆呆666
implementation 'com.ytman:TaoLibrary:1.2.2'

前言

使用

 /** 一行代码注册下设计稿
* 请在Application里初始化设计稿的屏幕参数 (init方法参数)
* @param context 上下文
* @param width   屏幕宽度参数 (如果参数小于等于0,则自动设置默认参数)
* @param height  屏幕长度参数 (如果参数小于等于0,则自动设置默认参数)
* @param isFontScale  字体大小根据系统的“字体大小”设置选项来进行缩放  false:不开启  true:开启
* 默认参数:默认按照: 长/宽:1334/750 ----> iPhone 6的尺寸稿设计
*/
AutoUi.getInstance().init(this, 750, 1334, false);

/****************Application完整代码***********************/
public class MainApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        AutoUi.getInstance().init(this, 750, 1334, false);
    }
}

/****************在其他需要适配的Activity里面***********************/
View rootView = findViewById(android.R.id.content);  //直接获取根View
AutoUi.with().asWidth(rootView);
*** mBinding = ***.inflate(getLayoutInflater()); //通过ViewBinding获取根View
AutoUi.with().asWidth(mBinding.getRoot());
/****************在Fragment或者RecyclerView里面***********************/
LayoutInflater inflater = LayoutInflater.from(mContext);
View view = inflater.inflate(R.layout.xxxxx, parent, false); //拿到View就行,然后对这个View进行适配
AutoUi.with().asWidth(view);

对外提供方法(AutoUi)

方法名 含义
getInstance() 实例化:获取AutoUi适配类单例
with() 实例化:获取AutoUi适配类单例(整个短点的方法名)
init(Context context, int width, int height, boolean isFontScale) 请在Application里初始化设计稿的屏幕参数
@param context 上下文
@param width 屏幕宽度参数(如果参数小于等于0,则自动设置默认参数)
@param height 屏幕长度参数(如果参数小于等于0,则自动设置默认参数)
@param isFontScale 字体大小根据系统的“字体大小”设置选项来进行缩放 false:不开启 true:开启
默认参数:默认按照: 长/宽:1334/750 ----> iPhone 6的尺寸稿设计
asWidth(View view) 水平方向按照宽度适配,垂直方向按照高度适配
推荐:小程序界面适配就是按照屏幕宽度适配,一般情况可以使用该种适配
@param view ViewGroup/View 均可
asHeight(View view) 按照屏幕高度适配
不支持下滑的界面,可采用高度适配: 可保持布局不会超出屏幕
@param view ViewGroup/View 均可
asWidthAndHeight(View view) 水平方向按照宽度适配,垂直方向按照高度适配
eg:保留该种适配,某些情况,该种适配视觉效果较好
@param view ViewGroup/View 均可
asCancel(View view) 取消已经适配过的view
说明:这是一个较为重要的方法,如果已经将所有布局适配了,其中某个模块并不想适配了,可以调用这个方法,将某个适配的ViewGroup或View还原。
场景:该方法使用场景,一般是还原某个适配过的第三方控件,项目中遇到过这种问题,所以特地写个取消适配方法
@param view ViewGroup/View 均可

实时预览适配布局

- image image image image image

Ok,这样就完成了!

image
上一篇 下一篇

猜你喜欢

热点阅读