Dikobraz
Dikobraz

Reputation: 659

XML Layout in Android 2.1

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

Answers (1)

elijah
elijah

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

Related Questions