我想让我的文字笔划出来。我使用自定义罢工线图像。到目前为止,我这样做了:
<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也会延伸。不应该!我只需要title_strike_through延伸文本。我该怎么办?
在
图像视图中添加以下属性,使其等于文本视图的宽度:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/title"
android:layout_alignRight="@id/title"
以
编程方式将ImageView
的宽度设置为TextView
的宽度。虽然我不明白如果将布局设置为包装内容,为什么布局会跨越整个宽度......
如果您希望它占用特定的空间量,则应设置 layout_width
属性。如果希望它占用屏幕的百分比,则应设置 layout_weight
属性。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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/titleText"
android:textSize="18dp"
android:background="#FF00FF00"
/>
<ImageView
android:id="@+id/title_strike_through"
android:contentDescription="@null"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:duplicateParentState="true"
android:src="@drawable/ic_launcher"/>
</RelativeLayout>
这是你想要的,请告诉我..
试试这个。
<RelativeLayout
android:id="@+id/title_container"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFFF0000">
<LinearLayout
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:duplicateParentState="true">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
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_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/title_strike"/>
</LinearLayout>
</RelativeLayout>