线性和相对布局对齐

时间:2013-12-24 18:28:51

标签: android textview imageview android-linearlayout relativelayout

我无法获得以下显示的布局..有谁让我知道如何实现这种布局?

这就是我所拥有但无法获得指定的布局。

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:layout_gravity="left"
        android:layout_weight="1">

        <ImageView
            android:id="@+id/someimage"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:background="#88FF0000" />

 <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:layout_gravity="right">

        <TextView
            android:id="@+id/txtview1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:textSize="14sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/txtview2"
            android:layout_height="wrap_content"
            android:focusable="false"
            android:gravity="right"
            android:layout_below="@id/txtview1"/>

        <TextView
            android:id="@+id/txtview3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:textColor="#003399"
            android:textSize="19sp"
            android:textStyle="bold"
            android:layout_below="@id/txtview2"/>
    </RelativeLayout>
    </LinearLayout>

我希望将其作为最终版面:

enter image description here

5 个答案:

答案 0 :(得分:1)

您可以使用一个RelativeLayout

您可以删除不需要的具有黑色背景的RelativeLayout。 (只是为了区分我添加了另一个相对布局与黑色背景)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="15dp"
        android:text="TextView" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="19dp"
        android:src="@drawable/ic_launcher" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#000000"
        android:layout_below="@+id/imageView1" >
    </RelativeLayout>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="16dp"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="54dp"
        android:layout_marginTop="14dp"
        android:text="TextView" />

</RelativeLayout> 

enter image description here

编辑:

您还可以将文本置于TextView中心,并使用match_parent作为布局宽度,并删除不需要的实际布局。请注意以下代码中的更改android:layout_toRightOf="@+id/imageView1"

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/textView2"
        android:layout_toRightOf="@+id/imageView1"
        android:layout_width="match_parent"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="15dp"
        android:text="TextView" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="19dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView3"
        android:layout_toRightOf="@+id/imageView1"
        android:layout_width="match_parent"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="15dp"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView1"
        android:layout_toRightOf="@+id/imageView1"
        android:layout_width="match_parent"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="15dp"
        android:text="TextView" />

</RelativeLayout> 

卡扣

enter image description here

答案 1 :(得分:0)

您需要将所有TextView的layout_width设置为fill_parent

请注意,您的代码甚至不应该编译,因为layout_width属性是必需的,并且您没有为第二个TextView指定它,并且它也没有可以指定它的样式属性。 / p>

答案 2 :(得分:0)

以下层次结构也可以做你想要的:

Linear-Horizontal
    Linear-Vertical
        imageview
    Linear-Horizontal
        textview
        textview
        textview

答案 3 :(得分:0)

如何放置图像视图的垂直线性布局。还可以放置水平线性布局,放置文本视图。设置垂直高度以包装内容,设置水平以匹配父级。

答案 4 :(得分:0)

如果这对您有用,请告诉我

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:layout_gravity="left"
    android:layout_weight="1">

    <ImageView
        android:id="@+id/someimage"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:background="#88FF0000" />

   <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

   <RelativeLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_gravity="right" >

     <TextView
        android:id="@+id/txtview1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="2dp"
        android:gravity="center"
        android:text="TextView1"
        android:textSize="14sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/txtview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/txtview1"
        android:focusable="false"
        android:gravity="center"
        android:text="TextView2" />

        <TextView
        android:id="@+id/txtview3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="19sp"
        android:textStyle="bold"
        android:gravity="center"
        android:text="Textview 3"
        android:layout_below="@id/txtview2"/>

</RelativeLayout>
</LinearLayout>
</LinearLayout>