我有一个覆盖我的ImageView(图像)的TextView(文本)。我的问题是它们没有相同的宽度。换句话说 - 我希望红色区域显示为白色:
到目前为止,这是我的布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF" >
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
android:padding="10dp"
android:textSize="25sp"
android:gravity="center"
android:background="#9988FF88"
android:textColor="#000000"/>
</RelativeLayout>
我对android很新,并尝试在textview中添加不同的标签,如android:layout_alignLeft =“@ id / image”,无法修复它,并尝试配置layout_width设置,但这没有帮助我也是。另外这个solution无法解决它(我想这是因为我在我的ImageView中的android:layout_width =“match_parent”)。解决方案是将这些行添加到TextView:
android:layout_alignLeft="@+id/image"
android:layout_toRightOf="@+id/image"
我也在寻找程序化解决方案,但也无法修复它:
image = (ImageView) findViewById(R.id.image);
text = (TextView) findViewById(R.id.text);
text.setWidth(image.getWidth());
任何想法如何摆脱我的红色区域?每个想法都将受到赞赏,我会很高兴xml解决方案或程序化解决方案!在此先感谢:)
修改
我应该指定ImageView中的图像确实被替换了很多,这样一些图像的宽度就会填满整个水平屏幕。因此,在某些图像中,左侧和右侧应有一个边距,但在其他图像上则不会(换句话说 - 标题应始终与图像一样大)。 (顺便说一下:谢谢你的快速反应!)
更新
我解决了这个问题,只是给标题添加了白色背景颜色。
答案 0 :(得分:1)
试试这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="26dp"
android:background="#FFFFFF" >
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
android:padding="10dp"
android:textSize="25sp"
android:gravity="center"
android:background="#9988FF88"
android:textColor="#000000"/>
</RelativeLayout>
答案 1 :(得分:1)
我能想到的最佳解决方案是:
然后,改变您的布局:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
>
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
android:padding="10dp"
android:textSize="25sp"
android:gravity="center"
android:background="#9988FF88"
android:textColor="#000000"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
答案 2 :(得分:0)
您的imageview设置为match_parent但imageview周围仍有白色区域。你确定你的图像周围没有白色区域吗?
另外,请尝试使用fill_parent而不是match_parent。
答案 3 :(得分:0)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="8">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
<!--android:padding="10dp" -->
android:textSize="25sp"
android:gravity="center"
android:background="#9988FF88"
android:textColor="#000000"/>
</RelativeLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
</LinearLayout>