Как правильно разместить несколько TextView поверх imageView - PullRequest
0 голосов
/ 31 мая 2018

У меня есть изображение, которое я хочу поместить textViews поверх моего приложения Android, которое выглядит следующим образом:

enter image description here

Для того, чтобы разместить textViewsповерх изображения единственное решение, которое у меня есть, - это создать FrameLayout, сначала поместить ImageView, затем TextView, а затем поместить отступы в TextView, это очень архаично и требует много времени, и я не знаю, будет ли оно правильно растягиваться довсе разрешения Android.Вот как я могу это сделать:

enter image description here

Это единственный способ сделать это?Есть ли какие-либо проблемы, связанные с различными разрешениями телефонов?или поскольку он основан на дп, он всегда будет правильно растягиваться?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Вы можете использовать ConstraintLayout .Если вы ограничите верхнюю часть Name: TextView верхом ImageView и создадите цепочку ограничений (оканчивающихся на информационный EditText, нижний край которого ограничен низом ImageView), все ваши виды будут оставаться в границахImageView.

Компоновка, подобная этой:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<ImageView
    android:id="@+id/image"
    android:layout_width="0dp"
    android:layout_height="300dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    android:src="@color/grey"/>

<TextView
    android:id="@+id/name_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Name:"
    android:layout_marginStart="16dp"
    android:layout_marginTop="16dp"
    app:layout_constraintStart_toStartOf="@id/image"
    app:layout_constraintTop_toTopOf="@id/image" />

<EditText
    android:id="@+id/name_text_entry"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:layout_marginTop="8dp"
    app:layout_constraintStart_toStartOf="@id/name_text"
    app:layout_constraintTop_toBottomOf="@id/name_text"
    tools:text="Some random text in here"/>

<TextView
    android:id="@+id/id_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="ID:"
    android:layout_marginTop="16dp"
    app:layout_constraintStart_toStartOf="@id/name_text_entry"
    app:layout_constraintTop_toBottomOf="@id/name_text_entry"/>

<EditText
    android:id="@+id/id_text_entry"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:layout_marginTop="8dp"
    app:layout_constraintStart_toStartOf="@id/id_text"
    app:layout_constraintTop_toBottomOf="@id/id_text"
    tools:text="Some random text in here"/>

<TextView
    android:id="@+id/information_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Information:"
    android:layout_marginTop="16dp"
    app:layout_constraintStart_toStartOf="@id/id_text_entry"
    app:layout_constraintTop_toBottomOf="@id/id_text_entry"/>

<EditText
    android:id="@+id/information_text_entry"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="16dp"
    android:lines="5"
    app:layout_constraintStart_toStartOf="@id/information_text"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@id/information_text"
    tools:text="Some random text in here"/>

создаст что-то вроде этого (серый фон - ваш ImageView)

Вот ссылка, так как я не могу вставлять изображения

0 голосов
/ 31 мая 2018

Вместо использования вида изображения вы можете использовать линейный макет и установить его фон в качестве этого изображения ... Затем вы можете добавить текст редактирования и текстовые виды на него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...