问题描述
- Android 导致 imageview 和 textview一样长
-
我的代码片段:<RelativeLayout android:id="@+id/title_container" android:layout_centerVertical="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FFFF0000"> <TextView android:id="@+id/title" android:layout_centerVertical="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:duplicateParentState="true" android:singleLine="true" android:ellipsize="end" android:textColor="@color/title_text" android:textSize="18dp" android:background="#FF00FF00" /> <ImageView android:id="@+id/title_strike_through" android:contentDescription="@null" android:layout_centerVertical="true" android:layout_width="match_parent" android:layout_height="match_parent" android:duplicateParentState="true" android:src="@drawable/title_strike"/> </RelativeLayout>
现在的问题是 title_container布局占满整个窗口的宽度,(导致的)结果是标题title_strike_through(布局)也是占满整个窗口的宽度。
这是不对的,我只想让标题占据文本内容的宽度,如何设置?
解决方案
在 imageview 中添加下面的属性使它和 textview 的宽度相同
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/title"
android:layout_alignRight="@id/title"
解决方案二:
去掉android:layout_centerVertical="true"
解决方案三:
把 <ImageView>
标签里的宽度改成 android:layout_width="wrap_content"
占满了宽度是因为你设了match_parent属性,既然你使用相对布局,却没有指出 TextView和 ImageView的相对的位置,所以按你贴出来代码这两个控件应该是叠加显示的,你确定是要这个效果?
时间: 2024-10-26 02:36:43