Verwenden des Android UI-Kits für programmatische Layouts

Sie können nicht bei Google arbeiten, ohne schlau zu sein. Obwohl es einige Dinge gibt, bei denen ich nicht wild bin, wenn es um Android geht, ist es nicht zu leugnen, dass das Framework-Team wirklich verstanden hat, was sie getan haben, als sie mit der Erstellung des Android SDK begonnen haben. Sicher, es gibt eine Reihe von Programmierparadigmen, die einfacher zu verwenden sind, und es gibt Programmierumgebungen, die ich zuvor verwendet habe (insbesondere in der eingebetteten Landschaft) und die unbegrenzte Flexibilität bieten. Die Leute bei Google haben sich jedoch beide Extreme angesehen und sich dafür entschieden, genau in der Mitte ein Gleichgewicht zu finden. Es funktioniert gut, weil es um Optionen geht.

Nirgendwo ist das zugrunde liegende Prinzip von Optionen unter Android so verbreitet wie bei der Programmierung der Benutzeroberfläche. Das Erlernen der Metasprache beim Entwerfen eines Android-Bildschirms nimmt fast keine Zeit in Anspruch, und das einfache, aber effektive Layout-Tool ist nichts anderes als intuitiv. Beispiele finden sich sowohl in der offiziellen Google-Dokumentation als auch im Internet auf beliebten Websites wie Stack Overflow. Aber das Google Framework-Team hat hier nicht aufgehört. Alles, was mit einem XML-Layout gemacht werden kann, kann auch programmgesteuert gemacht werden. Ich weiß, was Sie denken: Hat er alles gesagt? Ich tat. Das Ergebnis ist, dass ein Entwickler bei Bedarf die Möglichkeit hat, eine vollständig dynamische Benutzeroberfläche zu erstellen.

Das folgende Beispiel ist eine sehr grundlegende Demonstration einer dynamischen Benutzeroberfläche. Sie können dem gesamten Tutorial folgen oder es herunterladen und direkt in Eclipse importieren.

1. Erstellen Sie ein neues Android-Projekt in Eclipse. Ziel Android 1.6 oder höher. Stellen Sie sicher, dass Sie die Startaktivität Main.java und das zugehörige XML-Layout main.xml umbenennen.

2. Ändern Sie die Datei main.xml so, dass sie ein lineares Layout enthält, das von einer Bildlaufansicht umfasst wird. Lassen Sie uns fortfahren und dort auch eine Textansicht einwerfen, um als unser Titel zu fungieren.

main.xml

 xmlns: android = "http://schemas.android.com/apk/res/android" 
 xmlns: tools = "http://schemas.android.com/tools" 
 android: layout_width = "fill_parent" 
 android: layout_height = "fill_parent" 
 android: background = "# 000000" > 
 android: orientierung = "vertikal" 
 android: layout_width = "fill_parent" 
 android: layout_height = "wrap_content" 
 android: id = "@ + id / the_layout" 
 Android: Schwerkraft = "Zentrum" 
 android: layout_gravity = "center_horizontal" > 
 android: layout_width = "wrap_content" 
 android: layout_height = "wrap_content" 
 android: text = "Dynamische Layout-Demo" 
 android: textColor = "#ffffff" 
 android: padding = "20dip" /> 

3. Wir sind bereit für unsere Main.java-Datei. Hier haben wir drei Funktionen: einen Standard für die Überschreibung beim Erstellen, einen Standard für den Klick-Listener und unsere private Funktion zum Hinzufügen von Schaltflächen. Es ist die letztere Funktion, die das dynamische Hinzufügen der neuen UI-Widgets übernimmt, in diesem Fall eine einfache Schaltfläche. Der Code ist unkompliziert. Wir greifen nach unserem linearen Layout, erstellen eine neue Schaltfläche, legen die Parameter für das Schaltflächenlayout fest, fügen sie dem linearen Layout hinzu und Viola - eine neue Schaltfläche wird angezeigt!

Main.java

 Paket com.authorwjf.more_buttons; 
 import android.os.Bundle; 
 android.app.Activity importieren ; 
 android.graphics.Color importieren ; 
 android.view.Gravity importieren ; 
 android.view.View importieren ; 
 android.view.View.OnClickListener importieren ; 
 android.view.ViewGroup importieren ; 
 android.view.ViewGroup.LayoutParams importieren ; 
 android.widget.Button importieren ; 
 android.widget.LinearLayout importieren ; 
 public class Main erweitert Activity implementiert OnClickListener { 
 @Override 
 public void onCreate (Bundle savedInstanceState) { 
 super .onCreate (savedInstanceState); 
 setContentView (R.layout. main ); 
 addAButton (); 
 }} 
 private void addAButton () { 
 Button b = neuer Button ( dieser ); 
 LayoutParams params = new ViewGroup.LayoutParams (ViewGroup.LayoutParams. WRAP_CONTENT, ViewGroup.LayoutParams. WRAP_CONTENT ); 
 b.setText ("Klicken, um eine weitere Schaltfläche hinzuzufügen"); 
 b.setTextColor (Farbe. SCHWARZ ); 
 b.setLayoutParams (params); 
 b.setOnClickListener ( this ); 
 LinearLayout ll = (LinearLayout) findViewById (R.id. the_layout ); 
 ll.addView (b); 
 }} 
 @Override 
 public void onClick (View v) { 
 addAButton (); 
 }} 
 }} 
Jetzt können wir die Anwendung auf einem Gerät oder Emulator ausführen. Drücken Sie einfach den Knopf und ein anderer zieht. Wenn Sie genügend Schaltflächen hinzufügen, wird unsere Bildlaufleiste aktiviert ( Abbildung A ). Abbildung A.

Dies ist ein sehr primitives Beispiel, obwohl die Macht, die es demonstriert, selbstverständlich sein sollte. Und obwohl Sie möglicherweise nie auf eine Instanz stoßen, in der Sie Grund haben, Ihre XML-Layouts für die UI-Instanziierung zu verlassen, ist es schön zu wissen, dass Android Sie bei Bedarf abgedeckt hat.

© Copyright 2021 | mobilegn.com