SLay (Scale Layout) 是一种直接缩放布局的屏幕适配方案。
- 配置 module 的 build.gradle。
dependencies {
implementation 'com.github.7hens:slay:<last_version>'
}
- 初始化设计稿尺寸,视图会根据这个尺寸进行缩放。
class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 最后的参数表示设计稿尺寸(WIDTH,HEIGHT)所使用的单位, 需要与 xml 中的尺寸单位保持一致。
SLayDesign.get().init(this, WIDTH, HEIGHT, TypedValue.COMPLEX_UNIT_PX);
}
}
- 屏幕适配,推荐在 BaseActivity 中使用。
public abstract class BaseActivity extends Activity {
@Override
public void setContentView(int layoutResID) {
SLayDesign.get().adapter(this).setContentView(layoutResID);
}
@Override
public void setContentView(View view) {
SLayDesign.get().adapter(this).setContentView(view);
}
}
除 Activity 外,SLay 还可以适配 Dialog, 浮窗等。