Я решил создать свой макет динамически, потому что я чувствую больше контроля над ним, так как я могу делать с кодом все что угодно, вместо того, чтобы иметь макет, раздувать и т. Д., И т. Д. Я пришел сначала к разработке с использованием Symbian, затем Blackberry иНесмотря на то, что интерфейс создания макета с помощью перетаскивания - это круто, я чувствую себя здесь как дома.Хотя я все еще буду использовать некоторые макеты D & D.
Дело в том, что у меня есть этот макет со спиннером и некоторыми кнопками, и я хочу, чтобы они были в стиле строки, поэтому, очевидно, я установил их в таблицустрока.Вот код:
public FormaLibrosDisponibles(SisLec _sisLec)
{
super(_sisLec);
sisLec = _sisLec;
disenio = new LinearLayout(sisLec);
disenio.setOrientation(LinearLayout.VERTICAL);
addView(disenio);
selecClk = new OnClickListener()
{
public void onClick(View v)
{
seleccionarBtnClick(v);
}
};
cancelarClk = new OnClickListener()
{
public void onClick(View v)
{
cancelarBtnClick(v);
}
};
selecBtn = new Button(sisLec);
selecBtn.setText("Descargar Libro");
selecBtn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
selecBtn.setOnClickListener(selecClk);
cancelarBtn = new Button(sisLec);
cancelarBtn.setText("Cancelar");
cancelarBtn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
cancelarBtn.setOnClickListener(cancelarClk);
lineaTabla = new TableRow(sisLec);
lineaTabla.addView(selecBtn);
lineaTabla.addView(cancelarBtn);
lineaTabla.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
librosDisponibles = new Spinner(sisLec);
disponiblestxtVw = new TextView(sisLec);
disponiblestxtVw.setText("Libros Disponibles");
disenio.addView(disponiblestxtVw);
disenio.addView(librosDisponibles);
disenio.addView(lineaTabla);
}
Но когда он срабатывает, кнопки не отображаются.И если я уберу параметры макета любой из кнопок, скажем, я делаю это:
selecBtn = new Button(sisLec);
selecBtn.setText("Descargar Libro");
//selecBtn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
selecBtn.setOnClickListener(selecClk);
cancelarBtn = new Button(sisLec);
cancelarBtn.setText("Cancelar");
cancelarBtn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
cancelarBtn.setOnClickListener(cancelarClk);
... тогда будет показан только cancelarBtn, который займет все пространство.
Что я тут не так делаю?