不同屏幕大小的Android布局问题

时间:2012-03-17 14:32:05

标签: android android-layout

我用这个布局XML制作一个布局: 我有一个问题,在每个屏幕(2.7英寸,3.2英寸,3.7英寸,4英寸......)中,3个TextView位于屏幕的不同位置。

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

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/uph" 
        android:layout_gravity="top|center" android:layout_marginTop="-10dp"/>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" android:layout_marginTop="315dp">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/str_phone2"
            android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@color/black" android:textSize="15dp" android:layout_marginLeft="10dp" android:onClick="onClick2"/>

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:onClick="onClick1"
            android:text="@string/str_phone"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black"
            android:textSize="15dp" />
        </LinearLayout>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="80dp"
        android:onClick="onClickEmail"
        android:text="@string/str_email"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/black"
        android:textSize="15dp" android:layout_marginTop="19dp"/>

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

好的,你只需要一个Root布局,所以请删除第二个xmlns:android定义。

其次,要显示彼此相邻的视图,请使用设置为horizo​​natl的LinearLayout。然后将您的观看次数设置为layout_weight="1"layout_width="fill_parent"。这将确保您的TextView彼此相邻。

然后在你的根布局中,只需将第三个TextView放在我刚刚描述的LinearLayout下。

答案 1 :(得分:0)

使用此代码我根据您的要求对其进行了修改..然后设置图像,然后查看。

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

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:layout_gravity="top|center" 
        />

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"     
     android:gravity="center">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="text1"                 
            android:textSize="15dp"
            android:layout_marginLeft="10dp" 
            android:onClick="onClick2"/>

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:onClick="onClick1"
            android:text="hello"

            android:textSize="15dp" />
        </LinearLayout>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:onClick="onClickEmail"
        android:text="Hello"    

        android:textSize="15dp" android:layout_marginTop="19dp"/>

</LinearLayout>