Android - LinearLayout in ScrollView
-
26-10-2019 - |
Domanda
Dal momento che la mia interfaccia utente è abbastanza semplice vorrei per soddisfare sia il paesaggio e ritratto in un unico file XML.
In modalità portrait tutto è come ho esattamente voglio che sia.
Nel paesaggio la TextView main_title è appena mostrato. C'è un lavoro in giro per questo?
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:background="@color/background"
android:layout_width="fill_parent" android:padding="20dip"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:layout_height="fill_parent"
android:layout_gravity="center" android:orientation="vertical"
android:layout_marginTop="30dip" android:id="@+id/LinearLayout01"
android:layout_width="fill_parent">
<TextView android:layout_marginBottom="15dip"
android:textSize="24.5sp" android:layout_height="wrap_content"
android:id="@+id/TextView01" android:layout_gravity="center"
android:text="@string/main_title" android:layout_width="wrap_content"></TextView>
<Button android:layout_marginBottom="15dip"
android:layout_height="wrap_content" android:id="@+id/start_button"
android:text="@string/start_label" android:layout_width="fill_parent"></Button>
<TextView android:textSize="18sp" android:layout_height="wrap_content"
android:id="@+id/TextView02" android:text="@string/time_window_please_select_label"
android:layout_width="wrap_content"></TextView>
<Spinner android:layout_height="wrap_content" android:id="@+id/spinner"
android:prompt="@string/time_window_prompt" android:layout_width="fill_parent"></Spinner>
<TextView android:layout_height="wrap_content"
android:layout_marginBottom="10dip" android:id="@+id/status_label"
android:layout_width="wrap_content"></TextView>
<TextView android:layout_height="wrap_content"
android:layout_marginBottom="10dip" android:id="@+id/status_time_label"
android:layout_width="wrap_content">
</TextView>
<ImageView android:layout_marginTop="60dip" android:id="@+id/info_button"
android:src="@drawable/info" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_gravity="bottom|right" />
</LinearLayout>
</ScrollView>
Link:
Soluzione
appare come le bugie problema con i valori margin
e padding
.
opzione migliore potrebbe essere quella di avere 2 diversi layout per questo, dove 1 è verticale e altro essere del paesaggio. creare un'altra cartella denominata layout-land
e layout-port
nella cartella res
. quindi copiare il file di layout in entrambe queste cartelle ed effettuare le opportune modifiche per l'orientamento.
vedere la documentazione Android per ulteriori informazioni su come fornire risorse diverse per i diversi orientamenti e così via: http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources
Altri suggerimenti
aggiungere un TextView vuoto nella parte superiore del file, vale a dire al di sopra del TextView che non è visibile. forse la tua area di contenuto è molto grande e lo schermo non è in grado di sostenerlo. Il problema che si trovano ad affrontare non dovrebbe accadere in primo luogo .... ma questo è un lavoro intorno. Prova anche emulatori di commutazione ...