2009-09-30 11 views
17

J'ai créé un formulaire utilisateur qui correspond à la fenêtre dans l'orientation verticale. Lorsque l'utilisateur fait glisser le clavier, le formulaire ne correspond pas à l'écran (orientation horizontale). J'ai essayé d'ajouter la barre de défilement mais elle n'est pas visible.Android: Comment afficher automatiquement la barre de défilement verticale?

J'apprécierais que quelqu'un puisse montrer comment modifier le fichier de disposition suivant afin d'afficher la barre de défilement lorsque l'orientation est horizontale.

Merci!

<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> 

Répondre

40

Supprimez les attributs de la barre de défilement et placez le tout dans un ScrollView.

15

Vous ne pouvez pas remplacer LinearLayout par ScrollView car ScrollView ne prend en charge qu'un seul enfant direct et LinearLayout peut en avoir plusieurs. Donc, la seule option que je vois est d'enrouler

<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"> 

Vous pouvez choisir une variété d'autres attributs. Ceux-ci ont fonctionné pour ma mise en œuvre. C'est le premier conteneur dans ma disposition. LinearLayout est un enfant de ce conteneur. D'autres éléments de l'interface utilisateur font partie de LinearLayout

Hope this helps ... Alex

+0

@VikasGupta vous avez deux options pour it.First par programmation à savoir en utilisant le code suivant: -InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (editTextField.getWindowToken(), 0); De plus, grâce à Manifest File, votre solution sera obtenue en utilisant le code suivant: -android: windowSoftInputMode = "stateHidden". Je pense que cela vous aidera beaucoup dans le futur. –

Questions connexes