我正在设计一个应用程序,可以根据手机的分辨率更改线性布局的填充... 我设计的 XML 文件分辨率为 480*800 这是一种线性布局...我有 5 合 1 页...
<LinearLayout
android:id="@+id/layout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="78dp"
android:paddingLeft="120dp" >
<Button
android:textSize="30dp"
android:id="@+id/page"
android:textColor="@android:color/transparent"
android:background="@android:color/transparent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pages" />
</LinearLayout>
现在我已经在 JAVA 文件中使用了这段代码::
l3=(LinearLayout)findViewById(R.id.layout3);
size = new Point();
WindowManager w = getWindowManager();
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)
{
w.getDefaultDisplay().getSize(size);
width = size.x;
height = size.y;
}
else
{
d = w.getDefaultDisplay();
width = d.getWidth();
height = d.getHeight();
}
height1=(height/800)*113;
width1=(width/480)*14;
l3.setPadding(width1, height1, 0, 0);
但是变量 width 和 height 的固定值为 480 和 800。 所以获取宽度和高度像素的代码不起作用......请帮忙!!!! 我的目标 API 是 8,10 和 17。 请帮助我编写代码来查找屏幕的分辨率(像素)。
最佳答案
http://developer.android.com/reference/android/util/DisplayMetrics.html
您可以按如下方式使用它:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
对于密度,有
int densitiy = displaymetrics.densityDpi;
关于java - 安卓 : Get Phone Resolution using JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20766633/