Android ImageView放大文字覆盖

use*_*088 12 java android android-imageview pinchzoom

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

Chr*_*ski 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>
Run Code Online (Sandbox Code Playgroud)

有了这个,您可以轻松地修改ImageView的宽度和高度,TextView将保持在中心而不会变大或变小.

我注意到你采用了程序化解决方案,你可以轻松地通过XML查看它是如何完成的,并将其转换为代码.

这里重要的是你的ImageView周围有一个包装内容的容器.在其中你有指定宽度/高度的ImageView,以及在容器中水平和垂直居中的TextView.

你现在可以用图像做任何你想做的事情,文本将保持不变; 只是它将留在中心