Android 分辨率更改会影响对话框
在我的应用程序中,我有一些弹出对话框Android 分辨率更改会影响对话框,android,dialog,Android,Dialog,在我的应用程序中,我有一些弹出对话框 final Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.my_dialog); dialog.getWindow().setLayout(Dialog.WIDTH,Dialog.HEIGHT); dialog.show(); 在我的对话课上我有 public static final int WIDTH = 1000; public static final int
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.my_dialog);
dialog.getWindow().setLayout(Dialog.WIDTH,Dialog.HEIGHT);
dialog.show();
在我的对话课上我有
public static final int WIDTH = 1000;
public static final int HEIGHT = 700;
因此,它在我的平板电脑上运行良好(华硕Transformer Pad TF300T)
但现在我有了另一款平板电脑(华硕ME302C),我的对话框尺寸很小!
但是它们都有相同的屏幕大小。您应该使用dp而不是px…
如果你不能,因为你是通过代码来做的,你必须通过乘法因子找到设备密度和比例。
ldpi显示器的系数为0.75
mdpi(默认)显示的系数为1.0
hdpi显示器的系数为1.5
xhdpi显示器的系数为2.0
xxhdpi显示器的系数为3.0
xxxhdpi显示器的系数为4.0
这里有一种方法可以帮你做到这一点:
private final float getDensityScale()
{
final DisplayMetrics metrics =
Resources.getSystem().getDisplayMetrics();
return metrics.density;
}
将您的值乘以该比例因子,就完成了。屏幕大小可能相同,但分辨率是否相同?如果有大小为500x500 px的对话框,则分辨率为1024x768的设备上的对话框将比分辨率为800x600的设备上的对话框小。是的,分辨率不同。那么,如何编写代码来避免对话框出现这种情况呢?