Android ScrollView в диалоге не показывает верхнюю часть внутреннего TableLayout при вращении - PullRequest
0 голосов
/ 08 марта 2012

У меня есть макет диалогового окна конфигурации в виде XML:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/timerConfigurationDialog"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:scrollbars="vertical" >

        ...

    </TableLayout>
</ScrollView>

И я использую следующий код, чтобы надуть его:

LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.timer_configuration_dialog,
                                   (ViewGroup) findViewById(R.id.timerConfigurationDialog));
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout)
       .setTitle(R.string.configure)
       ...;

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

Я пробовал разные комбинации макетов без успеха ... любая помощь будет оценена !!

Заранее спасибо,

Рауль

1 Ответ

1 голос
/ 23 марта 2012

Поскольку ответа не было, я изменил макет диалога. Теперь я не использую TableLayout внутри ScrollView ... вместо этого у меня есть LinearLayout внутри ScrollView, поэтому нет проблем с диалоговым окном, когда пользователь поворачивает экран.

...