如何使Android应用程序适合所有屏幕尺寸

时间:2013-08-02 04:48:30

标签: android

我有activity.xml i,我有一个背景图像和一个背景图像,它在正常屏幕上运行良好但是当我在xlarge或大屏幕上运行它时按钮的位置改变

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="@drawable/menu"
    android:layout_margin="@dimen/my_view_margin"
     >

    <LinearLayout
        android:layout_width="300px"
        android:layout_height="200px"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="172dp"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="60px"
            android:background="@drawable/bt"
            android:text="Button" />
    </LinearLayout>

</RelativeLayout>

这是上面和下面的代码是不同屏幕的图像

无法添加图片因为没有足够的声誉

6 个答案:

答案 0 :(得分:5)

对所有布局使用权重而不是给出常量值,因为权重是屏幕的%类型。默认情况下,清单支持屏幕视图为真。

如果您认为有任何时候,那么添加尺寸值{folder contains dimens.xml}

是不可能的

答案 1 :(得分:3)

这些链接将帮助您为多个屏幕创建应用程序:

  1. http://developer.android.com/training/multiscreen/screensizes.html

  2. http://developer.android.com/guide/practices/screens_support.html

  3. 这些是Android关于实现多种屏幕尺寸支持的官方文档。

答案 2 :(得分:1)

<supports-screens android:smallScreens="true" 
          android:normalScreens="true" 
          android:largeScreens="true"
          android:xlargeScreens="true"
          android:anyDensity="true" />

将此添加到app的清单文件中。

答案 3 :(得分:1)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="@dimen/my_view_margin"
    android:background="@drawable/menu"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="60dp"
        android:layout_marginTop="170dp"
        android:layout_centerHorizontal="true"
        android:background="@drawable/bt"
        android:text="Button" />

</RelativeLayout>

答案 4 :(得分:0)

使用相对布局,绘制9张图像。对于高质量的应用程序,您可以为所有4种屏幕尺寸创建不同的布局XMLS。http://developer.android.com/guide/practices/screens_support.html使用此链接获取更多信息。

答案 5 :(得分:0)

简单,使用相对布局设置边距代码。设置每个文本视图,按钮等之间的边距,每个手机上的边距都相同。

android:layout_marginTop="10dp" 
// change Top to Bottom, Left or Right for what you need.