在Activity#onCreate()
中加入以下代码:
if (pad) {
int yourUIScreenWidth = 0;
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
oldDensity = displayMetrics.density;
destDensity = displayMetrics.widthPixels * oldDensity / yourUIScreenWidth;
displayMetrics.density = destDensity;
}
其中,yourUIScreenWidth是指UI图上给的宽度,例如360dp,算出来的destDensity如果感觉过大,可以乘以一个0到1的一个系数,例如0.8。
同时不要忘了在Activity#onResume()
加入以下代码:
protected void onResume() {
if (destDensity > 0) {
getResources().getDisplayMetrics().density = destDensity;
}
super.onResume();
}
Activity#onPause()
加入以下代码:
protected void onPause() {
if (oldDensity > 0) {
// 恢复成原density, 避免影响其他页面
getResources().getDisplayMetrics().density = oldDensity;
}
super.onPause();
}