优先展示右侧控件
蓝色的textview设置成weight=1 width=0,外层再包一个LinearLayout wrap_content
<LinearLayout
android:layout_width="480dp"
android:layout_height="wrap_content"
android:background="#fff"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:background="#0ff"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:layout_weight="1"
android:text="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
<TextView
android:background="#0f0"
android:text="Button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:background="#ff0"
android:text="Button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
存在右对齐,优先显示右对齐内容
思路
LinearLayout要存在右对齐,左边肯定得有weight=1 width=0
直接把左侧整块包成weight=1
之后的布局不就上上面那个需求了吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@color/bg_green"
android:gravity="left"
android:orientation="horizontal">
<TextView
android:id="@+id/home_guess_float_dislike_this"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:background="@drawable/bg_home_guess_float_dislike"
android:gravity="center"
android:text="你好"
android:textColor="#000000"
android:textSize="14dp" />
<com.fliggy.commonui.widget.FliggyImageView
android:layout_width="20dp"
android:layout_height="20dp" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/home_guess_float_find_same"
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:background="#CC000000"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:text="找相似找似找>"
android:textColor="#FFFFFF"
android:textSize="16dp" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@color/accent_color" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/home_guess_float_dislike_them"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/bg_home_guess_float_dislike"
android:ellipsize="end"
android:gravity="right"
android:maxWidth="200dp"
android:maxLines="1"
android:text="当找相相似找相似似找相相似找相似似找相相似 "
android:textColor="#000000"
android:textSize="14dp" />
</LinearLayout>
另外又弄了一个RelativeLayout的版本,最核心的部分类似
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp">
<TextView
android:id="@+id/tianqi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:maxLines="1"
android:ellipsize="end"
android:maxWidth="300dp"
android:text="天气天气天气天气天气天气天气天气天气天气" />
<TextView
android:id="@+id/prefix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="你好" />
<com.fliggy.commonui.widget.FliggyImageView
android:id="@+id/icon"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_toRightOf="@id/prefix" />
<LinearLayout
android:id="@+id/suffix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/tianqi"
android:layout_toRightOf="@id/icon"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="会员,撒大声地十撒大撒大会员,撒大声地十撒大撒大" />
<ImageView
android:id="@+id/jiantou"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@color/accent_color" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>