1

我有一个行为奇怪的布局:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/transparent_settings"
            android:clickable="true"
            android:focusable="true"
    >

<Button
        android:layout_width="145dp"
        android:layout_height="48dp"
        android:background="@color/white"
        android:layout_centerInParent="true"
        android:id="@+id/centralButton"
        android:textSize="13sp"
        android:visibility="invisible"
        />

<LinearLayout
        android:layout_width="145dp"
        android:layout_height="48dp"
        android:background="@color/white"
        android:layout_centerHorizontal="true"
        android:id="@+id/facebookLayout"
        android:layout_above="@+id/layoutLevel1"
        android:layout_marginTop="20dp"
        >

    <ImageView android:id="@+id/facebookImage"
               android:layout_width="30dp"
               android:layout_height="30dp"
               android:layout_margin="10dp"
               android:src="@drawable/logo_facebook_off"
            />

    <TextView android:id="@+id/facebookText"
              android:layout_width="wrap_content"
              android:layout_height="fill_parent"
              android:text="@string/publish_facebook"
              android:textColor="@color/color_black"
              android:gravity="center_vertical"
              android:textSize="11sp"
            />

</LinearLayout>

<LinearLayout
        android:id="@id/layoutLevel1"
        android:layout_width="300dp"
        android:layout_height="48dp"
        android:background="@color/transparent_color"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:layout_above="@+id/layoutLevel2"
        android:orientation="horizontal"
        >

    <LinearLayout
            android:layout_width="145dp"
            android:layout_height="50dp"
            android:background="@color/white"
            android:layout_marginRight="5dp"
            android:id="@+id/vkLayout"
            >

        <ImageView android:id="@+id/vkImage"
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:layout_margin="10dp"
                   android:src="@drawable/logo_vkontakte_off"
                />

        <TextView android:id="@+id/vkText"
                  android:layout_width="wrap_content"
                  android:layout_height="fill_parent"
                  android:text="@string/publish_vk"
                  android:textColor="@color/color_black"
                  android:gravity="center_vertical"
                  android:textSize="11sp"
                />

    </LinearLayout>

    <LinearLayout
            android:layout_width="145dp"
            android:layout_height="50dp"
            android:background="@color/white"
            android:layout_marginLeft="5dp"
            android:id="@+id/cmLayout"
            >
        <ImageView android:id="@+id/cmImage"
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:layout_margin="10dp"
                   android:src="@drawable/logo_cm_off"
                />

        <TextView android:id="@+id/cmText"
                  android:layout_width="wrap_content"
                  android:layout_height="fill_parent"
                  android:text="@string/publish_odnoklassniki"
                  android:textColor="@color/color_black"
                  android:gravity="center_vertical"
                  android:textSize="11sp"
                />

    </LinearLayout>

</LinearLayout>

<LinearLayout
        android:id="@id/layoutLevel2"
        android:layout_width="300dp"
        android:layout_height="48dp"
        android:background="@color/transparent_color"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:layout_above="@id/centralButton"
        android:orientation="horizontal"
        >

    <LinearLayout
            android:layout_width="145dp"
            android:layout_height="50dp"
            android:background="@color/white"
            android:layout_marginRight="5dp"
            android:id="@+id/twitterLayout"
            >
        <ImageView android:id="@+id/twitterImage"
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:layout_margin="10dp"
                   android:src="@drawable/logo_twitter_off"
                />

        <TextView android:id="@+id/twitterText"
                  android:layout_width="wrap_content"
                  android:layout_height="fill_parent"
                  android:text="@string/publish_twitter"
                  android:textColor="@color/color_black"
                  android:gravity="center_vertical"
                  android:textSize="11sp"
                />

    </LinearLayout>

    <LinearLayout
            android:layout_width="145dp"
            android:layout_height="50dp"
            android:background="@color/white"
            android:layout_marginLeft="5dp"
            android:id="@+id/flickrLayout"
            >
        <ImageView android:id="@+id/flickrImage"
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:layout_margin="10dp"
                   android:src="@drawable/logo_flickr_off"
                />

        <TextView android:id="@+id/flickerText"
                  android:layout_width="wrap_content"
                  android:layout_height="fill_parent"
                  android:text="@string/publish_flickr"
                  android:textColor="@color/color_black"
                  android:gravity="center_vertical"
                  android:textSize="11sp"
                />
    </LinearLayout>

</LinearLayout>

<Button
        android:layout_width="145dp"
        android:layout_height="48dp"
        android:background="@color/white"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="10dp"
        android:layout_below="@id/layoutLevel2"
        android:id="@+id/edit"
        android:text="@string/edit_label_2"
        android:textSize="13sp"
        android:layout_marginTop="45dp"
        />

<Button
        android:layout_width="145dp"
        android:layout_height="48dp"
        android:background="@color/white"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="10dp"
        android:layout_below="@id/edit"
        android:id="@+id/download"
        android:text="@string/download_label"
        android:textSize="13sp"
        />

<Button
        android:layout_width="145dp"
        android:layout_height="48dp"
        android:background="@color/white"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/download"
        android:id="@+id/delete"
        android:text="@string/delete_label"
        android:textSize="13sp"
        />

<Button
        android:layout_width="145dp"
        android:layout_height="48dp"
        android:background="@color/white"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="49dp"
        android:layout_above="@+id/bottom"
        android:id="@+id/cancel"
        android:text="@string/photo_remove_photo_alert_cancel_button"
        android:textSize="13sp"
        android:visibility="invisible"
        />

<View android:layout_alignParentBottom="true"
      android:id="@id/bottom"
      android:layout_width="1dp"
      android:layout_height="1dp"/>

它在 android 4.2 上工作得很好。但是,当我使用 android 2.3 在三星 Galaxy ace 上安装应用程序时,布局就坏了。每个组件(按钮、图像、文本)都显示并汇聚在屏幕顶部。一个按钮在另一个按钮上,依此类推

在此处输入图像描述

4

3 回答 3

2

首先前往图形部分并重新排列组件按钮文本和图像我的拖动。如果它不起作用那么你可以在这里手动添加代码你去看看这个例子它适用于我的每台设备。如果它对你有用,不要忘记 +1 这篇文章!

   <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dashLL"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@layout/list_layer"
android:orientation="vertical" >

<TextView
    android:id="@+id/tvdashhead"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="ADMIN|  Dashboard"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@android:color/black" />

<EditText
    android:id="@+id/etDUrl"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignRight="@+id/tvdashhead"
    android:layout_below="@+id/tvdashhead"
    android:hint="URL 1"
    android:inputType="textWebEditText" />
 <EditText
    android:id="@+id/etdURL2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignRight="@+id/etDUrl"
    android:layout_below="@+id/etDUrl"
    android:hint="URL 2" />

 <EditText
    android:id="@+id/etdURl1Nick"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/tvdashhead"
    android:layout_toRightOf="@+id/etDUrl"
    android:hint="Name" />

 <EditText
    android:id="@+id/etdURl2NICk"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/etdURl1Nick"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/etdURl1Nick" 
    android:hint="Name">

    <requestFocus />
</EditText>
 <EditText
    android:id="@+id/etdURL3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignRight="@+id/etdURL2"
    android:layout_below="@+id/etdURL2" 
    android:hint="URL 3"/>
 <EditText
    android:id="@+id/etdURl3Nick"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/etdURl2NICk"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/etdURl2NICk"
    android:hint="Name" />

<Button
    android:id="@+id/bDashTestUrl"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/etdURL3"
    android:layout_marginTop="31dp"
    android:enabled="false"
    android:text="Test" />

<Button
    android:id="@+id/bDashSaveUrl"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/bDashTestUrl"
    android:enabled="false"
    android:text="Save" />

<Button
    android:id="@+id/bdClear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/bDashSaveUrl"
    android:text="Clear" />

<Button
    android:id="@+id/blogout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/bDashSaveUrl"
    android:text="Logout" />

看看我的布局如何

于 2013-02-23T20:38:45.077 回答
1

问题是,当片段被替换时,即使在 android 4+ 上,它也被压缩到第二张图片中显示的状态,并且当片段被添加时它就可以了。

于 2013-03-04T12:21:13.843 回答
0

尝试android:orientation="vertical"从 RelativeLayout 中删除。它仅用于线性布局

于 2013-02-23T20:09:05.153 回答