Reputation: 659
I'm trying to do row layout like this:
Text1 Text3
IMG
Text2 Text4
Here is my xml code. It displays Text1 Text2 Text3 Text4 correctly, but I don't know how to insert image in the left side. I am starting to think that using RelativeLayout is bad idea. :(
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@android:id/text1"
android:src="@drawable/ic_launcher" />
<RelativeLayout
android:id="@+id/linearLayout112"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:clickable="false"
android:paddingBottom="1pt"
android:paddingLeft="6dip"
android:paddingTop="5pt"
android:textStyle="bold"
android:textSize="9pt"/>
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:clickable="false"
android:paddingBottom="1pt"
android:paddingRight="11dip"
android:paddingTop="6pt"
android:textColor="#a0a0a0"
android:textSize="7pt" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/linearLayout112"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:clickable="false"
android:paddingBottom="5pt"
android:paddingLeft="6dip"
android:paddingTop="1pt"
android:textColor="#FFFFFF"
android:textSize="8pt" />
<TextView
android:id="@+id/text4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:layout_alignParentRight="true"
android:paddingBottom="1pt"
android:paddingRight="11dip"
android:paddingTop="2pt"
android:textColor="#a0a0a0"
android:textSize="7pt" />
</RelativeLayout>
</LinearLayout>
Upvotes: 0
Views: 273
Reputation: 2924
since your outermost layout is a LinearLayout, the three child objects (the ImageView and the two RelativeLayouts) will be simply stacked vertically within. The layout_toRightOf attribute for the ImageView is not valid in the context of the LinearLayout, and will be ignored.
it looks like you're trying to do three columns, essentially? In that case, make the LinearLayout orientation horizontal, then have three children (the three columns), the first being the image, and the other two can be relative layouts with two children each, those being the texts for the top and bottom of the column.
However, ultimately, I would suspect that you could be successful with just a RelativeLayout as the outermost, then the ImageView and four TextViews as direct children. These could each be placed relative to the parent (the RelativeLayout) using layout_alignParentLeft, layout_centerVertical, etc etc. For fine tuning, apply padding and margin to the child elements (or even the parent as appropriate).
Upvotes: 1