I am using LinearLayout horizontal to load view from the adapter. Though I am using wrap_content and views within the layout are aligned to top. And there is a blank space below the linearLayout. Is this is a bug or what am I doing wrong. Please do check the attached
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:clickable="true"
android:background="@drawable/recycler_selector">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="50dp"
android:id="@+id/group_chat_photo" />
<RelativeLayout
android:layout_width="0dp"
android:layout_weight="5"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_height="wrap_content"
style="@style/ListTitleTextStyle"
android:id="@+id/group_name" />
<TextView
android:layout_width="wrap_content"
android:padding="5dp"
android:layout_toStartOf="@id/group_name"
android:layout_height="wrap_content"
android:id="@+id/num_of_group_users"
style="@style/PresenceTextStyle"
android:layout_toEndOf="@id/group_name"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/SubTitleTextStyle"
android:layout_below="@id/group_name"
android:id="@+id/group_members_presence"/>
</RelativeLayout>
<ImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:src="@drawable/ic_dots_vertical_grey600_24dp"
android:contentDescription="@string/group_chat_options"
android:id="@+id/group_chat_options"/>
</LinearLayout>
This element is the main problem,
<TextView
android:id="@+id/num_of_group_users"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/group_name"
android:layout_toStartOf="@id/group_name"
tools:text="10 users"
android:padding="5dp" />
Since, you are already using relative layout, there is no need to wrap this around linear layout. You can use single RelativeLayout as container. For example, following is just idea, you can change padding and margin as per your need.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_orange_dark"
android:orientation="horizontal">
<ImageView
android:id="@+id/group_chat_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/group_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/group_chat_photo"
tools:text="Some title" />
<TextView
android:id="@+id/num_of_group_users"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/group_name"
android:layout_toRightOf="@+id/group_members_presence"
tools:text="10 users" />
<TextView
android:id="@+id/group_members_presence"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/group_name"
android:layout_toRightOf="@+id/group_chat_photo"
tools:text="Presence" />
<ImageView
android:id="@+id/group_chat_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@mipmap/ic_launcher" />
</RelativeLayout>
尝试将整个线性布局放入另一个布局(相对或线性)中,并将其宽度设置为“ match_parent”,将高度设置为“ wrap_content”
我认为问题在于您在其中一个TextView中使用layout_toStartOf和layout_toEndOf(android:id =“ @ + id / num_of_group_users”)删除其中之一。
Don't use LinearLayout
attribute android:layout_weight
to RelativeLayout
. I have redesigned your xml with RelativeLayout
. See the attached image for output.
Here is the working code. Try this:
<?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="82dp"
android:clickable="true"
android:background="#455A64"
android:padding="16dp">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/group_chat_photo"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:src="@mipmap/ic_launcher"/>
<ImageView
android:id="@+id/group_chat_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/ic_dots_vertical_grey600_24dp"
android:contentDescription="group_chat_options" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/group_chat_photo"
android:layout_toLeftOf="@id/group_chat_options"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp">
<TextView
android:id="@+id/group_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Americal AllStars"
android:textColor="#FFFFFF"
android:textSize="18dp"/>
<TextView
android:id="@+id/group_members_presence"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/group_name"
android:text="Alucard, Client"
android:textColor="#0788C9"
android:textSize="16dp" />
<TextView
android:id="@+id/num_of_group_users"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/group_members_presence"
android:layout_alignBottom="@id/group_members_presence"
android:paddingLeft="5dp"
android:text="and 10 others"
android:textColor="#0788C9"
android:textSize="16dp" />
</RelativeLayout>
</RelativeLayout>
OUTPUT:
Hope this will help you~
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.