Параметры компоновки не отображаются

#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. Параметры компоновки.