在我的应用程序中,我有一些弹出对话框。
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.my_dialog);
dialog.getWindow().setLayout(Dialog.WIDTH,Dialog.HEIGHT);
dialog.show();
在我的Dialog课程中,我有
public static final int WIDTH = 1000;
public static final int HEIGHT = 700;
所以它在我的平板电脑上工作正常(华硕Transformer Pad TF300T) 但现在我有另一个平板电脑(华硕ME302C),我的对话框尺寸很小! 但它们都有相同的屏幕尺寸。
答案 0 :(得分:2)
您应该使用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;
}
将您的值乘以该比例因子并完成。