这是我的布局,我试图在图像上写文字。
<?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="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:background="?android:attr/selectableItemBackground"
android:padding="@dimen/tile_padding">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="match_parent"
android:layout_height="@dimen/tile_height"
android:scaleType="fitXY"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="160dp"
android:alpha="0.30"
android:background="@color/dark_grey"
/>
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="@dimen/tile_height"
android:layout_gravity="center"
android:gravity="bottom|end"
android:textColor="@color/white"
android:textSize="22sp"
/>
</RelativeLayout>
要使图像在图像上可见,我在原始图像上使用alpha = 0.30绘制更多图像。
我想在原始图像上不完全绘制其他图像,但只绘制文本的部分。
答案 0 :(得分:1)
尝试以下布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:padding="@dimen/tile_padding">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="match_parent"
android:layout_height="@dimen/tile_height"
android:scaleType="fitXY" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alpha="0.30"
android:background="@color/dark_grey"
android:gravity="bottom|end">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="@dimen/tile_height"
android:layout_gravity="center"
android:textColor="@color/white"
android:textSize="22sp" />
</LinearLayout>
</FrameLayout>
答案 1 :(得分:0)
如果您只需要使文本区域变暗,则不需要额外的ImageView。 TextView还有android:background
。
如果您真的想在TextView后面使用ImageView,请将ImageView与TextView对齐。
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alpha="0.30"
android:background="@color/dark_grey"
android:layout_alignBottom="@+id/title"
android:layout_alignTop="@+id/title"
/>
答案 2 :(得分:0)
你需要这样的事情:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:padding="10dp">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@android:color/black"
android:scaleType="fitXY"
/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/thumbnail"
android:layout_alignLeft="@id/thumbnail"
android:layout_alignTop="@id/thumbnail"
android:layout_gravity="center"
android:gravity="bottom|end"
android:text="Sample"
android:textColor="@color/white"
android:textSize="22sp"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="160dp"
android:layout_alignBottom="@id/title"
android:layout_alignLeft="@id/title"
android:layout_alignRight="@id/title"
android:layout_alignTop="@id/title"
android:alpha="0.40"
android:background="@android:color/holo_blue_bright"
/>
</RelativeLayout>
主要是您在layout_alignX
工作 - 对于&#39; x&#39;左,右,上,下。
答案 3 :(得分:0)
为什么要在图像视图上重叠textview,这非常复杂。如果要求在图像上显示任何文本,请按下按钮并设置atttributes 1.background作为您所需的图像和文本