对话框中的Android ScrollView在旋转时不显示内部TableLayout的顶部

时间:2012-03-08 10:27:08

标签: android rotation scrollview tablelayout

我在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 个答案:

答案 0 :(得分:1)

由于没有答案,我改变了对话框的布局。现在,我不使用ScrollView中的TableLayout ...而是在ScrollView中有一个LinearLayout,因此当用户旋转屏幕时对话框没有问题。