Почему TableRow не центрируется на экране?

1

Я не понимаю, почему в этом коде TableRow появляется в левом верхнем углу, а не в центре

HorizontalScrollView HSC = new HorizontalScrollView(this);
ScrollView VSC = new ScrollView(this);
HSC.setBackgroundResource(R.drawable.lavagna);   
tableLayout = new TableLayout(this);
tableLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tableLayout.setGravity(Gravity.CENTER)  
for (int i = 0; i < 3; i++){  
tableRow = new TableRow(this);  
tableRow.setGravity(Gravity.CENTER);  
for (int j = 0; j < 3; j++){  
values[i][j] = new EditText(this);   
values[i][j].setHint("r: " + (i) + " " + "c: " + (j));  
values[i][j].setPadding(10, 10, 10, 10);  
tableRow.addView(values[i][j]);  
}  
tableLayout.addView(tableRow);  
}  
VSC.addView(tableLayout);  
HSC.addView(VSC);  
setContentView(HSC);  
}  
Теги:
android-layout

2 ответа

1
Лучший ответ
HorizontalScrollView HSC = new HorizontalScrollView(this);
ScrollView VSC = new ScrollView(this);
VSC.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,  LayoutParams.MATCH_PARENT, Gravity.CENTER));         
HSC.setBackgroundResource(R.drawable.lavagna);        
tableLayout = new TableLayout(this);
tableLayout.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, Gravity.CENTER));  
values = new EditText[15][15];
for (int i = 0; i < 15; i++){           
tableRow = new TableRow(this); 
tableRow.setGravity(Gravity.CENTER);
for (int j = 0; j < 15; j++){
values[i][j] = new EditText(this);
valo[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(valore[i][j]);
}  
VSC.addView(tableLayout);
HSC.addView(VSC);
setContentView(HSC);         
  • 0
    Теперь у меня проблема с этим кодом. TableRow из EditText вставляется в табличное представление, табличное расположение вставляется в одно представление Scroll, Scrollview вставляется в HorizontalScrollView. HorizontalScrollView содержит также изображение фона. Проблема в том, что я не могу правильно прокрутить и отобразить весь EditText, потому что не все отображаются. Можешь мне помочь?
0

Я думаю, что после инициализации объекта tableLayout вы также должны определить его параметры макета.

tableLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
    LayoutParams.WRAP_CONTENT));
  • 0
    Я попробовал ваш совет, но все еще не работает
  • 0
    Я думаю, вам также необходимо определить параметры макета для HSC и VSC, которые служат в качестве родительского макета для TableLayout
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню