2
我把这个TableRow的EditText插入到tablelayout中,这个tablelayout被插入到一个Scrollview中,这个Scrollview插入到HorizontalScrollView中。 HorizontalScrollView还包含背景图像。问题是我无法正确滚动并显示所有EditText。你可以帮我吗?如何正确配置HorizontalScrollView和Scrollview?
FrameLayout frameLayout = new FrameLayout(this);
frameLayout.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
HorizontalScrollView HSC = new HorizontalScrollView(this);
HSC.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.CENTER));
HSC.setBackgroundResource(R.drawable.lavagna);
ScrollView VSC = new ScrollView(this);
VSC.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
TableLayout tableLayout = new TableLayout(this);
tableLayout.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
values = new EditText[r][c];
for (int i = 0; i < r; i++){
tableRow = new TableRow(this);
tableRow.setGravity(Gravity.CENTER);
for (int j = 0; j < c; j++){
values[i][j] = new EditText(this);
values[i][j].setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED | InputType.TYPE_NUMBER_FLAG_DECIMAL);
values[i][j].setHint("r: " + (i) + " " + "c: " + (j));
values[i][j].setPadding(10, 10, 10, 10);
tableRow.addView(values[i][j]);
}
我已经编辑我的代码以您的意见,我试过。现在滚动向右移动,但不向左移动,并且如果EditText的数量较小(如3行3列的TableRow),则TableRow不在屏幕中央。你可以帮我吗? – bisemanu 2012-04-26 13:17:57
1.删除'VSC'和'tableLayout'的'Gravity.CENTER'。 2.您可以将'HSC'的父亲的重力设置为'Gravity.CENTER'。 – 2012-04-26 13:30:47
我做过了,但现在如果TableRow的行数和列数小于15(例如3),TableRow不在屏幕上居中 – bisemanu 2012-04-26 13:33:50