Sundus
Sundus

Reputation: 468

Alignment of Image in Listview items android

If anyone could guide me what I am doing wrong in this ? I can't get my items aligned properly. My list item

And My screen imageDoesn't displays list items finely

Here is my XML of child row. I am binding it with relative layout , then setting fixed length of image and other details are mentioned below. Please have a look. The image isn't appearing in the center as it is supposed to be.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:padding="5dp"
android:orientation="vertical">

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginEnd="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="5dp"
    android:layout_alignBottom="@+id/Description_txt"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:padding="2dp"

    android:src="@drawable/gallery" />

<TextView
    android:id="@+id/Name_txt"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_toRightOf="@+id/imageView1"
    android:text="@string/arabella"
    android:textSize="15sp"
    android:textStyle="bold"
    android:textColor="@color/colorPrimaryDark"/>

<TextView
    android:id="@+id/Brandname_txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Name_txt"
    android:layout_marginLeft="5dp"
    android:layout_toRightOf="@+id/imageView1"
    android:text="@string/arabella"
    android:textSize="11sp"
    android:textColor="@color/black_overlay"
    android:layout_alignRight="@+id/Description_txt"
    android:layout_alignEnd="@+id/Description_txt" />

<TextView
    android:id="@+id/Description_txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Brandname_txt"
    android:layout_marginLeft="5dp"
    android:textSize="11sp"
    android:layout_toRightOf="@+id/imageView1"
    android:text="@string/arabella"
    android:textColor="@color/black_overlay" />

<TextView
    android:id="@+id/Phone_txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/Description_txt"
    android:layout_alignBottom="@+id/Description_txt"
    android:layout_toEndOf="@+id/Name_txt"
    android:layout_toRightOf="@+id/Name_txt"
    android:text="@string/arabella"
    android:textSize="11sp"
    android:textColor="@color/black_overlay" />

<Button
    android:id="@+id/View_btn"
    android:layout_width="60dp"
    android:layout_height="20dp"
    android:layout_alignParentRight="true"
    android:layout_centerHorizontal="true"
    android:layout_marginRight="5dp"
    android:background="@drawable/btn_view"

    android:paddingLeft="5dp"

    android:textColor="@android:color/white"
    android:textSize="7sp" />

<TextView
    android:id="@+id/Viewed_txt"
    android:visibility="gone"
    android:textSize="11sp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/View_btn"
    android:layout_alignBottom="@+id/View_btn"
    android:layout_marginEnd="25dp"
    android:layout_marginRight="25dp"
    android:layout_toLeftOf="@+id/View_btn"
    android:layout_toStartOf="@+id/View_btn"
    android:text="@string/viewed"
    android:textStyle="bold"
    android:textColor="@color/colorPrimaryDark" />

 <ImageView android:id="@+id/imgView"
    android:visibility="gone"
    android:src="@drawable/ic_small_view"
    android:layout_width="30dp"
    android:layout_height="20dp"
    android:layout_toLeftOf="@+id/Viewed_txt"
    android:layout_toStartOf="@+id/Viewed_txt"
    android:layout_alignBottom="@+id/Name_txt" />
</RelativeLayout>

Upvotes: 1

Views: 74

Answers (3)

Chetan Joshi
Chetan Joshi

Reputation: 5711

Use Below XML :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listItem"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:orientation="vertical"
    android:padding="5dp">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_marginEnd="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        android:padding="2dp"
        android:src="@drawable/saffron_flag" />

    <Button
        android:id="@+id/View_btn"
        android:layout_width="60dp"
        android:layout_height="20dp"
        android:layout_alignParentRight="true"
        android:layout_centerHorizontal="true"
       android:layout_centerVertical="true"
        android:layout_marginRight="5dp"
        android:background="@drawable/saffron_flag"
        android:paddingLeft="5dp"
        android:textColor="@android:color/white"
        android:textSize="7sp" />

    <TextView
        android:id="@+id/Name_txt"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_toLeftOf="@+id/View_btn"
        android:layout_toRightOf="@+id/imageView1"
        android:text="@string/arabella"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="15sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/Brandname_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/Name_txt"
        android:layout_marginLeft="5dp"
        android:layout_toLeftOf="@+id/View_btn"
        android:layout_toRightOf="@+id/imageView1"
        android:text="@string/arabella"
        android:textColor="@color/black_overlay"
        android:textSize="11sp" />

    <TextView
        android:id="@+id/Description_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/Brandname_txt"
        android:layout_marginLeft="5dp"
        android:layout_toLeftOf="@+id/View_btn"
        android:layout_toRightOf="@+id/imageView1"
        android:text="@string/arabella"
        android:textColor="@color/black_overlay"
        android:textSize="11sp" />

    <TextView
        android:id="@+id/Phone_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_marginLeft="5dp"
        android:layout_below="@+id/Description_txt"
        android:layout_toRightOf="@+id/imageView1"
        android:text="@string/arabella"
        android:textColor="@color/black_overlay"
        android:textSize="11sp" />


    <TextView
        android:id="@+id/Viewed_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/View_btn"
        android:layout_alignBottom="@+id/View_btn"
        android:layout_marginEnd="25dp"
        android:layout_marginRight="25dp"
        android:layout_toLeftOf="@+id/View_btn"
        android:layout_toStartOf="@+id/View_btn"
        android:text="@string/viewed"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="11sp"
        android:textStyle="bold"
        android:visibility="gone" />

    <ImageView
        android:id="@+id/imgView"
        android:layout_width="30dp"
        android:layout_height="20dp"
        android:layout_alignBottom="@+id/Name_txt"
        android:layout_toLeftOf="@+id/Viewed_txt"
        android:layout_toStartOf="@+id/Viewed_txt"
        android:src="@drawable/ic_small_view"
        android:visibility="gone" />
</RelativeLayout>

Upvotes: 0

Kunal Dudka
Kunal Dudka

Reputation: 467

you can just change the

1 change the height of your list item layout  to 

       android:layout_height="wrap_content" 

2 change the gravity of imageView to center

Upvotes: 1

grantespo
grantespo

Reputation: 2269

Depending on what layout your using. Use either:

layout_centerVertical="true"

or

gravity="center_vertical"

Also, make the imageView smaller

Upvotes: 0

Related Questions