Я хочу наложить textview
на imageview
на андроид, который я сделал программно. Я также хочу, чтобы изображение было в состоянии увеличивать и уменьшать масштаб, что также я могу сделать. Но я застрял в проблеме размещения текста на изображении таким образом, что, пока я увеличиваю изображение, текст не должен увеличиваться, и он должен оставаться в том же положении на изображении, что и на экране.
Android ImageView Zoom с наложением текста
Ответ 1
ОК, я создал 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, который центрируется по горизонтали и вертикали в контейнере.
Теперь вы можете делать то, что хотите сделать с изображением, текст останется нетронутым; просто он останется в центре