当适配新的系统时,系统的默认dpi可能跟之前开发App时基准屏幕密度不一样,要想APP保持统一显示效果,需要对APP进行屏幕密度配置
一般在BaseActivity中进行如下配置
public abstract class BaseActivity<P extends IPresenter> extends SupportActivity implements IView {
protected final String TAG = getClass().getSimpleName();
protected P presenter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 修改全局的Density
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
displayMetrics.density = 2.0f;
displayMetrics.densityDpi = 320;
displayMetrics.scaledDensity = 2.0f;
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
// 修改全局的Density
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
displayMetrics.density = 2.0f;
displayMetrics.densityDpi = 320;
displayMetrics.scaledDensity = 2.0f;
super.onConfigurationChanged(newConfig);
}
如果应用中使用了Fragment和Dialog也进行同样的设置。