0

我正在开发一个新的 Android 应用程序。我需要在我的应用程序中设计以下屏幕截图。我正在使用 Eclipse IDE。

在此处输入图像描述

使用下面的代码,我形成了上面显示的屏幕截图。但每当我选择不同的屏幕预览(4.7'' WXGA、4.0” WXGA 等)时,下面屏幕截图中标有箭头的内部图像就会错位。下面是一个示例的屏幕截图。布局中的所有图像都是图标(例如,主页,共享)。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bar"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.9" >

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_marginTop="240dp"
            android:layout_weight="1.00"
            android:src="@drawable/rec_button_stop"
            android:visibility="gone" />

    </LinearLayout>

    <LinearLayout  android:id="@+id/linearLayout3"
     android:layout_width="fill_parent"
        android:layout_height="wrap_content"
     android:orientation="horizontal">

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.1" >
        <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="40dip" android:layout_marginTop="90dip"/>

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="40dip"
            android:layout_marginTop="90dip"
            android:src="@drawable/home" />

    </LinearLayout>

      <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.1" >


        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1.00"
            android:src="@drawable/rec_button_stop" />


    </LinearLayout>


    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.1" >



        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="30dp"
            android:layout_height="fill_parent"
            android:layout_marginLeft="10dip"
            android:src="@drawable/share" />
    </LinearLayout>

     </LinearLayout>
</LinearLayout>

在此处输入图像描述

因此,每当我更改不同尺寸的屏幕预览时,我都需要将更小的图像(标有箭头的图标)固定在同一位置(直线)。

有人可以用一些代码片段或一些链接指导我吗?

4

2 回答 2

2

@2Vision2:这个问题是因为您在布局组件中使用了固定边距。

为了支持各种尺寸的设备,您必须创建不同的布局。您正面临这个问题,因为您只使用单一布局。在应用程序的 res/ 目录中创建 4 个目录,用于各种大小的布局

  • 布局(适用于 4" 以下的设备)
  • layout-800X480(适用于 4" 以上和 5" 以下的设备)
  • layout-sw620dp(适用于 7" 平板电脑)
  • layout-sw800dp(适用于 10" 平板电脑)

此外,如果要为横向模式创建不同的布局,则创建 layout-land、layout-land-800X480、.. 目录以支持横向模式下的应用程序。

于 2013-07-03T19:09:08.613 回答
1

试试这个 xml 文件,这将适用于所有尺寸(陆地和港口)!实际上你可能使用了错误的方式来使用重量。希望这将帮助您了解如何使用 WEIGHT 设置布局和重力。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight=".75" >
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight=".25"
        android:background="@android:color/darker_gray" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight=".20"
            android:gravity="center" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_launcher" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight=".60"
            android:gravity="center|top" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_launcher" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight=".20"
            android:gravity="center" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_launcher" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

重量也可以在相对布局中使用。但是更喜欢将它与线性布局一起使用。

仍有任何疑问,请询问...

于 2013-07-04T09:32:47.610 回答