In realtà è tutt'altro che complesso. Se conosci HTML allora sai praticamente già usare anche l'XML, in quanto il principio è simile. L'XML come già detto ti servirà per definire il file Manifest, il quale conterrà le informazioni principali relative alla tua app: ad esempio quante e quali Activity conterrà, se richiede permessi particolari (ad esempio è richiesta una connessione ad internet, oppure l'accesso al GPS, l'accesso al file system, alla rubrica e così via). Oppure potrai definire dei file di layout per le tue Activity. Un esempio è il seguente:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Cliccami" />
</LinearLayout>
In cui viene specificato un layout di tipo lineare in cui gli elementi saranno disposti in sequenza verticalmente e che contiene al suo interno altri 2 elementi: una TextView (ovvero una scritta) e un Button.. Per imparare l'XML di per sé ti basta veramente poco.
Per imparare, invece, a creare dei file XML che possano essere riconosciuti da android devi studiarti i vari componenti che android ti mette a disposizione. Ad esempio, sempre in riferimento ad un layout, se vuoi che la tua app mostri un pulsante devi studiarti quale sia il componente "pulsante": dalla documentazione vedrai che ne esistono diversi tipi: pulsanti "semplici", pulsanti contenenti immagini, pulsanti di tipo on/off (chiamati "ToggleButton"), RadioButton, ecc.. Per ognuna di queste tipologie esiste un diverso tag XML con i relativi attributi