我有我不能修复的布局问题。 我已经通过在这里的很多帖子一看,我的似乎是唯一的,足以张贴问题。
我创建一个自定义对话框以编程方式创建一个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);
}
}