Я пытаюсь создать вертикальный список TextView → EditTextView. Мне нужно это, чтобы создать небольшую форму ввода. Я попытался использовать 2 вертикальных линейных макета, которые являются дочерними элементами горизонтальной линейной компоновки. Затем я добавляю TextViews в первый контейнер и EditableTextViews ко второму. Проблема в том, что высота текстового вида не имеет ничего общего с высотой EditTextView, поэтому они не выравниваются правильно по вертикали. Каков наилучший способ достижения этого? Использовать таблицу? Мне любопытно, как люди эффективно достигают этого.
Если я понимаю вас, вы можете использовать представление списка, содержащее textView слева, и редактировать текст вправо
row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/ListItem1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="1" />
<EditText
android:id="@+id/edittext1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="right"
android:selectAllOnFocus="true"
android:textSize="15dp"
android:layout_weight="1" />
</LinearLayout>
Вы можете использовать ListView с раскладкой строк следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/ListItem1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_weight="1" />
<EditText
android:id="@+id/edittext1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="right"
android:selectAllOnFocus="true"
android:textSize="15dp"
android:layout_weight="1" />
</LinearLayout>
Это создаст текстовое изображение с левой стороны и editext справа, каждый из них займет половину доступного пространства. (Откорректируйте номера веса, чтобы дать еще одно пространство, чем другое).
используйте гравитацию для выравнивания центра, если хотите хотите..........
Например, вы можете использовать вертикальный линейный макет как родительский и добавить к нему множество горизонтальных линейных макетов, каждый из которых содержит TextView и EditableTextView