1

我已经阅读了很多关于 SO 的内容并到处搜索,但仍然无法得到我的答案......我有这个代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/welcomeRelativeLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/graph_paper" >

 <LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/first"
        android:layout_width="40dp"
        android:layout_height="90dp"
        android:layout_marginTop="70dp"
        android:background="@color/Blue" />

    <TextView
        android:id="@+id/second"
        android:layout_width="40dp"
        android:layout_height="90dp"
        android:layout_marginTop="70dp"
        android:background="@color/Cyan" />

    <TextView
        android:id="@+id/third"
        android:layout_width="40dp"
        android:layout_height="90dp"
        android:layout_marginTop="70dp"
        android:background="@color/Brown" />
</LinearLayout>

<LinearLayout
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="203dp"
    android:background="@color/Black"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/Yellow" >

        <ImageView
            android:id="@+id/welcomeWImageView"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_marginBottom="16dp"
            android:src="@drawable/w" />

        <ImageView
            android:id="@+id/WelcomeOImageView"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/o" />

        <ImageView
            android:id="@+id/welcomeRImageView"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/r" />

        <ImageView
            android:id="@+id/welcomeDImageView"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/d" />
    </LinearLayout>

    <TextView
        android:id="@+id/welcomeTextView"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@color/lime" />

    <LinearLayout
        android:id="@+id/LinearLayout01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/Pink" >

        <ImageView
            android:id="@+id/ImageView03"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_marginBottom="16dp"
            android:src="@drawable/w" />

        <ImageView
            android:id="@+id/ImageView04"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/o" />

        <ImageView
            android:id="@+id/ImageView01"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/r" />

        <ImageView
            android:id="@+id/ImageView02"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/d" />
    </LinearLayout>
</LinearLayout>

</RelativeLayout>

正如来自不同线程的答案所述,我使用 dp 作为缩放单位,但是当从不同的屏幕尺寸和分辨率移动时,我仍然会得到这些图像。

以下是我在不同屏幕尺寸和分辨率上获得的不同图像:

3.7(480x800)

3.7(480x854)

7.0(1024x600)

10.1(1280x800)

为什么文本框不与屏幕尺寸和分辨率成比例增长?因为它们是没有图形的文本视图,并且 dp 用于该单元。

提前谢谢各位。

4

2 回答 2

1

我不能真正告诉您解决此问题的确切 xml 代码,但作为一个想法,您需要利用以下属性在视图之间平均分配屏幕区域:

android:weightSum       //for your LinearLayout
android:layout_weight   //for your child views

并且根据您的 LinearLayout 的方向,您需要将以下任一设置为您的子视图。

android:layout_height="0dp"
android:layout_width="0dp"

例如,阅读thisthis

于 2013-03-28T08:45:37.783 回答
-1

您必须为您的应用程序创建三种不同的布局。
1- 布局文件夹(基本上用于小屏幕)
2- 布局大(基本上用于大屏幕,例如 5.0)
3- 布局-xlarge(用于大屏幕“平板电脑”)
以使您的应用程序适合每个屏幕完美,您必须创建这些文件夹。以下步骤显示了如何使用它
1- 在 res 文件夹 layout-large 和 layout-xlarge 中创建新的两个文件夹。
2-layout.xml从布局文件夹中复制您的并将其粘贴到您现在创建的每个文件夹中。
3-打开它们,您会看到它们在更大的屏幕上的外观,然后您只需在每个文件夹上的 layout.xml 上进行一些更改。

希望你所寻求的。就这么简单。两个额外的文件夹

于 2013-03-28T08:36:12.043 回答