我已经在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作为缩放单元但是当从不同的屏幕尺寸和分辨率移动时,我仍然会得到这些图像。
以下是我在不同屏幕尺寸和分辨率上获得的不同图像:
为什么文本框不会与屏幕尺寸和分辨率成比例增长?由于它们是没有图形的文本视图,因此dp用于单元。
提前谢谢你们。
答案 0 :(得分:1)
我无法告诉您确切的xml代码,但是作为一个想法,您需要使用以下属性在您的视图中平均分配屏幕区域:
android:weightSum //for your LinearLayout
android:layout_weight //for your child views
并且根据您的LinearLayout的方向,您需要为子视图设置以下任一项。
android:layout_height="0dp"
android:layout_width="0dp"
答案 1 :(得分:-1)
您必须为您的应用创建三种不同的布局
1-布局文件夹(基本上用于小屏幕)
2-布局 - 大(基本上用于大屏幕,如5.0)
3- layout-xlarge(用于大屏幕“平板电脑”)
为了使您的应用程序完美适合每个屏幕,您必须创建这些文件夹。以下步骤显示了如何使用它
1-在res文件夹layout-large和layout-xlarge中创建新的两个foldesr
2-从布局文件夹中复制layout.xml
并将其粘贴到您现在创建的每个文件夹上
3-打开它们,你会看到它们在更大的屏幕上看起来如何,然后只需要在每个文件夹上的layout.xml上稍微改变一下。
希望你所寻求的。就这么简单。两个额外的文件夹