2009-09-30 7 views
17

Я создал пользовательскую форму, которая подходит к окну в вертикальной ориентации. Когда пользователь скользит по клавиатуре, форма не подходит к экрану (горизонтальная ориентация). Я попытался добавить панель прокрутки, но она не видна.Android: как автоматически отображать вертикальную полосу прокрутки?

Я был бы признателен, если бы кто-нибудь мог показать, как изменить следующий файл макета, чтобы отображать полосу прокрутки, когда ориентация установлена ​​на горизонтальную.

Спасибо!

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

ответ

40

Удалите атрибуты прокрутки и заверните все это в ScrollView.

15

Вы не можете заменить LinearLayout ScrollView, поскольку ScrollView поддерживает только один Direct Child, а LinearLayout может иметь много. Поэтому единственный вариант, который я вижу, - обернуть

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

Вы можете выбрать другой атрибут. Они работали для моей реализации. Это первый контейнер в моем макете. LinearLayout является дочерним элементом этого контейнера. Другие элементы пользовательского интерфейса являются частью LinearLayout

Надеется, что это помогает ... Alex

+0

@VikasGupta у вас есть два варианта it.First через программирование, т.е. используя следующий код: -InputMethodManager немедл = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (editTextField.getWindowToken(), 0); также через Manifest File ваше решение будет достигнуто с помощью следующего кода: -android: windowSoftInputMode = "stateHidden". Я думаю, это поможет вам в будущем. –

Смежные вопросы