#android #layoutparams
#Android #параметры компоновки
Вопрос:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout ll=(LinearLayout)findViewById(R.id.linearlayout);
for(int k=0;k<10;k )
{ TableRow tr=new TableRow(this);
tr.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
tr.setId(k);
for(int s=0;s<10;s )
{
EditText edt=new EditText(this);
Log.i("SS","setting layout params for textview " s k);
edt.setText("abc " s k " ");
edt.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ViewGroup.LayoutParams p=edt.getLayoutParams();
Log.i("SS","edt params " p.height " " p.width);
tr.addView(edt);
}
ll.addView(tr);
}
}
}
В приведенном выше коде, если я удалю строку edt.setLayoutParams… отображаются тексты редактирования. Но если я установлю их параметры, они не будут отображаться. Есть идеи, что может быть причиной?
Ответ №1:
Попробуйте это…
TableRow tr = new TableRow(this);
TableLayout.LayoutParams tableRowParams=
new TableLayout.LayoutParams
(TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);
tableRowParams.setMargins(10, 10, 10, 10);
tr.setLayoutParams(tableRowParams);
Надеюсь, это поможет вам…
Комментарии:
1. спасибо, это сработало. Для каждого элемента внутри строки я использовал TableRow. Параметры компоновки.