Android ImageView放大文字覆盖

时间:2015-07-27 18:30:05

标签: java android android-imageview pinchzoom

我希望在textview上覆盖imageview在我已经以编程方式完成的android上。我也希望图像应该能够放大和缩小,这也是我能够完成的。但是我遇到了这样一个问题:在图像上放置文字时,我放大图像时文本不应该缩放,它应该保留在图像上不在屏幕上的相同位置。

1 个答案:

答案 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。

您现在可以对图像执行任何操作,文本将保持不变;只是它将留在中心