我希望在textview
上覆盖imageview
在我已经以编程方式完成的android上。我也希望图像应该能够放大和缩小,这也是我能够完成的。但是我遇到了这样一个问题:在图像上放置文字时,我放大图像时文本不应该缩放,它应该保留在图像上不在屏幕上的相同位置。
答案 0 :(得分:6)
好的,我创建了一个符合您需求的XML布局。您所要做的就是放大或缩小图像。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="287dp"
android:layout_height="287dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello Constant Text Overlay"
android:layout_gravity="center_horizontal|center_vertical"/>
<!-- Don't want it centered? Then change the layout gravity to fit your needs -->
</FrameLayout>
通过这种方式,您可以轻松修改ImageView的宽度和高度,TextView将保留在中心而不会变大或变小。
我注意到您采用了程序化解决方案,您可以通过XML轻松查看它是如何完成的,并将其转换为代码。
这里重要的是你的ImageView周围有一个包装内容的容器。在其中你有指定宽度/高度的ImageView,以及在容器中水平和垂直居中的TextView。
您现在可以对图像执行任何操作,文本将保持不变;只是它将留在中心