Ho tormentando il mio cervello (newbie Android qui, quindi non è difficile da fare) per un po 'cercando di capire come eseguire questa:Come centrare i pulsanti sullo schermo orizzontalmente e verticalmente più equidistanti?
utilizzando un RelativeLayout o qualcosa di diverso da quello che è AbsoluteLayout con cosa è stato creato. Vengo da uno sfondo di programmazione Windows in cui il dispositivo regola il posizionamento "assoluto" per te e il layout della GUI non è un problema.
Il primo layout funziona in modo ottimale nell'emulatore, ma non viene formattato per il mio Nexus One o qualsiasi altra schermata che differisce dalle dimensioni dell'emulatore. Mi aspettavo questo perché è assolutamente posizionato, ma non ho trovato una soluzione che si formatta correttamente per diverse dimensioni dello schermo. Il mio obiettivo è far funzionare il layout per diverse dimensioni dello schermo e in verticale/orizzontale.
Ecco il codice che sto attualmente in uso: [main.xml]
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="188px"
android:layout_height="100px"
android:text="A"
android:layout_y="50px" android:layout_x="65px" android:textSize="48sp"/>
<Button
android:id="@+id/Button02"
android:layout_width="188px"
android:layout_height="100px"
android:text="B"
android:layout_y="175px" android:layout_x="65px" android:textSize="48sp"/>
<Button
android:id="@+id/Button03"
android:layout_width="188px"
android:layout_height="100px"
android:text="C"
android:layout_y="300px" android:layout_x="65px" android:textSize="48sp"/>
</AbsoluteLayout>
Uso bocconcini da altre domande qui, sono arrivato fino a questo, è più vicino, ma non c'è ancora.
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
android:gravity="center"
android:id="@+id/widget49"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="0dip"
android:layout_weight="1"
android:text="A"
android:textSize="48sp"/>
<Button
android:id="@+id/Button02"
android:layout_width="0dip"
android:layout_weight="1"
android:text="B"
android:textSize="48sp"/>
<Button
android:id="@+id/Button03"
android:layout_width="0dip"
android:layout_weight="1"
android:text="C"
android:textSize="48sp"/>
</TableLayout>
Ecco una foto del TableLayout:
Qualsiasi aiuto/consiglio sarebbe molto apprezzato.
Inoltre, non utilizzare px (pixel), utilizzare dip (display pixel indipendenti). –
Grazie per aver postato la tua risposta completa, l'ho copiata e incollata nel mio codice e funziona benissimo. –