Android 使两个相对布局左右浮动

Android 使两个相对布局左右浮动,android,android-layout,Android,Android Layout,我有一个简单的问题。 我做了两个相对的布局,一个包含图像,另一个包含文本。 我希望它们分别向左和向右浮动。 图像布局的宽度应为40%,而文本布局的宽度应为60% 我怎么能做到这一点? 我的xml代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fil

我有一个简单的问题。 我做了两个相对的布局,一个包含图像,另一个包含文本。 我希望它们分别向左和向右浮动。 图像布局的宽度应为40%,而文本布局的宽度应为60%

我怎么能做到这一点? 我的xml代码

<?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="wrap_content"
    android:orientation="vertical"
    android:padding="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:background="#cccccc">

    <!-- Name Label -->
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="150dp"
        android:layout_gravity="right"
        android:background="#eaeaea">
        <ImageView
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:id="@+id/img"
            android:src="@drawable/mike"/>


    </RelativeLayout>
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:background="#fa6800">
        <TextView
            android:id="@+id/email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:textColor="#acacac"
            android:text="email"
            android:textStyle="bold"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello This is testing"
            android:id="@+id/guid"
            android:visibility="gone"/>

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:text="name:"
            android:textStyle="bold"
            android:visibility="gone"/>

        <!-- Email label -->

        <!-- Mobile number label -->
        <TextView
            android:id="@+id/mobile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:text="Mobile: "
            android:textColor="#5d5d5d"
            android:maxLines="1"/>

    </RelativeLayout>




</LinearLayout>

您需要将其放置在具有水平方向的线性布局中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:background="#cccccc">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <!-- Name Label -->
    <RelativeLayout
        android:layout_width="0dip"
        android:weight="4"
        android:layout_height="150dp"
        android:layout_gravity="right"
        android:background="#eaeaea">
        <ImageView
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:id="@+id/img"
            android:src="@drawable/mike"/>


    </RelativeLayout>
    <RelativeLayout
        android:layout_width="0dip"
        android:weight="6"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:background="#fa6800">
        <TextView
            android:id="@+id/email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:textColor="#acacac"
            android:text="email"
            android:textStyle="bold"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello This is testing"
            android:id="@+id/guid"
            android:visibility="gone"/>

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:text="name:"
            android:textStyle="bold"
            android:visibility="gone"/>

        <!-- Email label -->

        <!-- Mobile number label -->
        <TextView
            android:id="@+id/mobile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:text="Mobile: "
            android:textColor="#5d5d5d"
            android:maxLines="1"/>

    </RelativeLayout>
 </LinearLayout>



</LinearLayout>


android:orientation
更改为
水平
,并为左侧的
RelativeLayout
添加
布局_weight=4
,为右侧的6。其他真实布局中的文本都重叠。为什么会这样?在relativelayout中,您需要告诉textview位于另一个视图的右侧(相对于该视图、父视图或另一个视图……这就是relative layout的用途),否则会发生重叠等情况。请看这里的谷歌快速示例