Předtím, než si ukážeme několik jednotlivých layoutů, vrátíme se k Hello World aplikaci. To, jak jsme se nadefinovali vizuální komponenty, se nazývá "programový" UI layout. Jistě si ale dokážete představit, že u komplexnějších GUI tento přístup není zrovna vhodný a přehledný.
Naštěstí máme jinou alternativu - definovat layout naší aplikace v XML souboru. Pro Hello World by obsah takového souboru vypadal takto:
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/hello"/>
| Atribute | Význam |
|---|---|
| xmlns:android | Deklarace XML namespace. Poviný atribut. |
| android:layout_width | Tento atribut definuje šířku daného pohledu vzhledem k displeji. V našem případě hodnota "fill_parent" znamená vyplnění celé šířky nadžazeného pohledu. |
| android:layout_height | Stejné jako android:layout_width, nyní je to však výška. |
| android:text | Tento atribut nastavuje textový řetězec, který má pohled zobrazit. V našem případě používáme string hello, definovaný v souboru res/values/strings.xml. Tento způsob je doporučovaný, protože umožňuje velice jednoduchou lokalizaci aplikací. |
Otevřete nyní v Eclipse soubor /res/layout/main.xml a přepěte do editace zdrojového kódu souboru (záložka pod hlavním oknem Layout/main.xml). Obsah nahraďte zdrojovým kódem uvedeným výše.
Můžete si dále prohlédnout soubor res/values/string.xml, který vám Eclipse otevře v jednoduchém prohlížeči "string resources". Upravte např. string hello.
Upravte zpět soubor MyActivity.java tak, jak vypadal při úplně prvním vytvoření. Tzn. tak, aby byl nastaven pohled jako R.layout.main, což zabezpečí použití XML schématu. Mohli bychom samozřejmě použít třeba R.layout.mujpohled, pokud bychom si vytvořili soubor mujpohled.xml, ve kterém bychom specifikovali layout.
public class MyActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}Nyní bude po spuštění aplikace použit XML soubor s definicí pohledů. Můžete si pohrát s vizuálním editorem, který Eclipse plugin pro Androida poskytuje na vytváření GUI. Už jste ho viděli při otevírání souboru main.xml. Jeho ovládání je poměrně intuitivní.