TextEdit исчезает на клавиатуре - PullRequest
1 голос
/ 18 февраля 2012
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1.85"
        android:orientation="horizontal" android:layout_marginTop="10px">

        <EditText
            android:id="@+id/editText1"
            android:layout_width="299dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" android:lines="1"/>

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="clear" />

    </LinearLayout>

    <ListView
        android:id="@+id/mylist"
        android:layout_height="413dp"
        android:layout_weight="0.52" android:layout_width="fill_parent">

 </ListView>

</LinearLayout>

Что не так с этим макетом?

1) когда я открываю приложение в портретном режиме, этот TextEdit виден до тех пор, пока я не нажму на него, чтобы ввести какой-либо текст (присутствует только чернота).Если я затем переключу его в альбомный режим, текстовое сообщение появится снова (в полноэкранном режиме)

2), когда я открою приложение в альбомном режиме, снова появится только заголовок макета и черная область ниже.

Это не кажется слишком сложным ... Вот псевдо-xml:

<row>
  <col. for text>
  <col. for button>
</row>
<row>
  <some text here>
</row>

Можете ли вы помочь мне исправить этот макет или привести лучший пример?

1 Ответ

1 голос
/ 18 февраля 2012

У вас есть список с высотой 413dp (довольно большой). Я думаю, вы неправильно понимаете, что layout_weight определяет, как назначить лишний пробел, которого не будет много, учитывая, что ваш список настолько велик.

То, что вам, вероятно, нужно, это установить горизонтальное линейное расположение без layout_weight и указать представлению списка, чтобы оно использовало все:

<ListView
    android:id="@+id/mylist"
    android:layout_height="0dp"
    android:layout_weight="1" 
    android:layout_width="fill_parent"
    >
</ListView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...