Я хочу наложить textview
на imageview
на андроид, который я сделал программно. Я также хочу, чтобы изображение было в состоянии увеличивать и уменьшать масштаб, что также я могу сделать. Но я застрял в проблеме размещения текста на изображении таким образом, что, пока я увеличиваю изображение, текст не должен увеличиваться, и он должен оставаться в том же положении на изображении, что и на экране.Android ImageView Zoom с наложением текста
ответ
ОК, я создал 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, который центрируется по горизонтали и вертикали в контейнере.
Теперь вы можете делать все, что хотите сделать с изображением, текст останется нетронутым; просто он останется в центре
Это способ пойти, если ему нужен текст в центре, но если он хочет текст в какой-то другой позиции, то комментарий Зеда - отличный подход. –
Я добавил комментарий, чтобы объяснить, как изменить, если из центра. Существует множество позиций, которые мое решение работает правильно. Это также одно из самых простых решений: –
Кроме того, если пользователь не хочет его в одном из мест, определяемых 'layout_gravity', тогда они могут добавлять дополнительные атрибуты, такие как поля и такие –
Вы пытались добавить TextView в виде View в ImageView и переопределить прослушиватели жестов? –
Проверьте это: http://stackoverflow.com/questions/14004424/android-zoomable-scrollable-imageview-with-overlays?rq=1 – zed
@TobiasK. что вы понимаете, добавив «добавить TextView в качестве представления в ImageView»? Может ли ImageView иметь дочерние элементы? – techtinkerer