布局问题:在表的内部滚动视图,自定义对话框中(Layout problem: scrollview

2019-10-22 05:54发布

我有我不能修复的布局问题。 我已经通过在这里的很多帖子一看,我的似乎是唯一的,足以张贴问题。

我创建一个自定义对话框以编程方式创建一个3行的表。 顶部和底部行具有文本,而中间行包含一个滚动型,其中包含一个LinearLayout中。 这随后的LinearLayout包含了一些意见数(TextView的在这个例子中)。 因为我在做这个程序,请参见下面的XML伪代码,再下面的实际代码。

我想发生这样的,就是当在LinearLayout中所包含的内容的高度变得太大,滚动型的,它的工作,并在页眉和页脚的TextView的始终可见。

问题是,当对话框变得足够大,滚动型出现在整个对话接手,我的页脚的TextView消失在屏幕上。 我能做些什么,以确保页脚的TextView从未消失,但滚动型仍然可以工作?

请参阅下面的图片链接:

页脚左侧可见,走在右边:

http://img690.imageshack.us/i/screenshotss.png/

<TableLayout>
    <TableRow>
        <TextView>
    </TableRow>
    <TableRow>
        <ScrollView>
            <LinearLayout>
                <TextView/>
                <TextView/>
                <TextView/>
                ...
            </LinearLayout>
        </ScrollView>
    </TableRow>
    <TableRow>
        <TextView>
    </TableRow>
</TableLayout>

下面的代码:

public class DialogScrollTest extends Dialog {

    public DialogScrollTest(Context ctx){
        super(ctx);

        setTitle("");
        requestWindowFeature(Window.FEATURE_NO_TITLE); 

        TableLayout table = new TableLayout(ctx);       
        TableRow row;       
        TextView text;

        row = new TableRow(ctx);
        {
            text = new TextView(ctx);
            text.setText("TestTop");
            row.addView(text);
        }
        table.addView(row);

        row = new TableRow(ctx);
        {
            ScrollView scroll = new ScrollView(ctx);
            {   
                LinearLayout linear = new LinearLayout(ctx);
                linear.setOrientation(LinearLayout.VERTICAL);
                for(int t=0; t<32; ++t){
                    text = new TextView(ctx);
                    text.setText("TestScroll");
                    linear.addView(text);                   
                }
                scroll.addView(linear);
            }       
            row.addView(scroll);
        }
        table.addView(row);

        row = new TableRow(ctx);
        {
            text = new TextView(ctx);
            text.setText("TestBottom");
            row.addView(text);
        }
        table.addView(row);

        this.setContentView(table);
    }   
}

Answer 1:

你可以只使用的ListView与页脚和页眉或它的样本数据,实际上你试图做更复杂的东西?



文章来源: Layout problem: scrollview inside a table, inside a custom dialog