Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Among 4
Among 4
Es posible crear interfaces más enriquecidas mediante la creación de interfaces dinámicas. Una interfaz
dinámica es una interfaz creada en Java, directamente en el archivo fuente de una actividad.
Se puede combinar una interfaz dinámica con una interfaz estática (archivo XML).
La creación dinámica de interfaces es muy útil en el caso en que desee añadir componentes al vuelo en
una interfaz.
Para ilustrar esta funcionalidad, el siguiente ejemplo crea una interfaz compuesta de un botón que
servirá para añadir campos de texto (EditText) dinámicamente en la misma.
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/addEditText"
android:id="@+id/addBtn"/>
</LinearLayout>
Con el clic del botón, los campos de texto editables se añadirán dinámicamente a la vista.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final LinearLayout linearLayout = (LinearLayout)
findViewById(R.id.linearlayout);
Button btn = (Button) findViewById(R.id.addBtn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EditText edit = new
EditText(DynamicViewActivity.this);
edit.setHint(R.string.newEditText);
LayoutParams layoutParams = new
LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
edit.setLayoutParams(layoutParams);
linearLayout.addView(edit);
}
});
}
}
Hay que crear el campo de edición mediante su constructor pasándole el contexto necesario
para su inicialización.
Para finalizar, hay que añadir el campo de texto editable que se acaba de crear en
elLinearLayout obtenido anteriormente (mediante su identificador).