2009-09-30 12 views
17

Ho creato un modulo utente che si adatta alla finestra con orientamento verticale. Quando l'utente fa scorrere la tastiera, il modulo non si adatta allo schermo (orientamento orizzontale). Ho provato ad aggiungere la barra di scorrimento ma non è visibile.Android: come visualizzare automaticamente la barra di scorrimento verticale?

Apprezzerei se qualcuno potesse mostrare come modificare il seguente file di layout per visualizzare la barra di scorrimento quando l'orientamento è impostato su orizzontale.

Grazie!

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:orientation="vertical" 
    android:scrollbars="vertical" 
    android:scrollbarAlwaysDrawVerticalTrack="true"> 
     ... 
    </LinearLayout> 

risposta

40

Rimuovere gli attributi della barra di scorrimento e avvolgere il tutto in un ScrollView.

15

Non è possibile sostituire LinearLayout con ScrollView perché ScrollView supporta solo un bambino diretto e LinearLayout può avere molti. Quindi l'unica opzione che vedo è di avvolgere

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:overScrollMode="always" 
     android:isScrollContainer="true" 
     android:scrollbarAlwaysDrawVerticalTrack="true" 
     android:scrollbarStyle="outsideInset" 
     android:scrollbars="vertical"> 

È possibile scegliere una varietà di altri attributi. Questi hanno funzionato per la mia implementazione. È il primo contenitore nel mio layout. LinearLayout è figlio di questo contenitore. Altri elementi dell'interfaccia utente sono parte di LinearLayout

Spero che questo aiuti ... Alex

+0

@VikasGupta si hanno due opzioni per it.First tramite la programmazione vale a dire utilizzando il seguente codice: -InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (editTextField.getWindowToken(), 0); anche tramite Manifest File la tua soluzione sarà raggiunta usando il seguente codice: -android: windowSoftInputMode = "stateHidden". Penso che questo ti aiuterà molto in futuro. –

Problemi correlati