获取设备的尺寸

时间:2013-12-27 13:11:07

标签: android xml

有没有办法获取Android设备的宽度和高度并在XML文件中使用它们? 我的目标是为小屏幕和大屏幕制作动态应用程序。

5 个答案:

答案 0 :(得分:2)

你可以通过编程方式完成并在代码中使用。

DisplayMetrics displaymetrics = new DisplayMetrics();
    context.getWindowManager().getDefaultDisplay()
            .getMetrics(displaymetrics);
    int screenHeight = displaymetrics.heightPixels;
    int screenWidth = displaymetrics.widthPixels;

答案 1 :(得分:1)

Display mDisplay = activity.getWindowManager().getDefaultDisplay();
int width  = mDisplay.getWidth();
int height = mDisplay.getHeight();

这样就可以获得屏幕尺寸。

答案 2 :(得分:1)

如果将高度和宽度设置为填充父级。然后它将占用整个设备屏幕的高度和宽度。

像这样:

android:height="fill_parent"
android:width="fill_parent"

<强>编辑:

如果你想使用20%。然后将父布局的android:weightSum设为5.0,子父layout:weight="1.0"如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/main_rel"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:weightSum="5.0" >

        <RelativeLayout
            android:id="@+id/child_one"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1.0"
            android:background="#0000FF" >
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/child_two"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1.0"
            android:background="#00FF00" >
        </RelativeLayout>

    </LinearLayout>

它会将布局设置为适合每个屏幕尺寸。

答案 3 :(得分:0)

使用values-mdpi,values-hdpi等名称在res文件夹中创建文件夹。 Android将在运行时加载正确的文件。您可以创建多种类型的文件以供参考  Link

答案 4 :(得分:0)

您可以使用以下代码计算显示尺寸。你可以找到它Here- get screen size in pixels

然后根据您的尺寸制作不同的布局。它是解释Here- resize-your-image-according-to-screen-sizes

希望这会对你有所帮助