Search code examples
androidxmllistviewcustom-lists

Android : how to adjust custom list views?


I want to display one ImageView, 2 TextViews and one Rating Bar in one node in custom list adapter but it crop it when I run the code here is the xml code of custom list Here is the picture of list

custom_list.xml

?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow>
    <ImageView
        android:id="@+id/img"
        android:layout_width="50dp"
        android:layout_height="50dp"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Name"
        android:id="@+id/tv_name"
        android:layout_column="2" />

</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/tv_deal"
        android:layout_column="2"
        android:text="deals" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RatingBar android:id="@+id/rb_rating"
        android:layout_column="2" />
</TableRow>


Solution

  • Use below XML for your ListView Item :

     <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <ImageView
            android:id="@+id/img"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true" />
    
        <TextView
            android:id="@+id/tv_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/img"
            android:text="Name"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/tv_deal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/img"
            android:text="deals"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    
    
        <RatingBar
            android:id="@+id/rb_rating"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tv_deal" />
    </RelativeLayout>