Подтвердить что ты не робот

Android: проблема с прокруткой

У меня было несколько проблем с ScrollViews. Недавно я попытался создать LinearView, содержимое которого превышает размер экрана, поэтому я создал новый макет с родительским элементом ScrollView и установил его ширину и высоту в соответствии с пользовательскими значениями (макет должен отображаться как диалог - не заполняя весь экран).

Когда элемент выбран, красная рамка появляется, чтобы охватить прямоугольник предопределенного ScrollView LayoutWidth и LayoutHeight, который в порядке. Затем я разместил внутри LinearView и установил значения LayoutWidth и LayoutHeight для fill_parent.

Затем, когда я начал добавлять элементы в LinearLayout, граница (красная lile) завернула вставленные элементы, а не весь родительский ScrollView.

Итак, когда содержимое LinearLayout (дочерний элемент ScrollView) превысило размер родительского ScrollView, прокрутка не появилась, а нижние элементы просто невидимы.

В любом случае.. в этом случае содержимое XML было слишком обширным, чтобы опубликовать этот вопрос здесь, и теперь у меня такая же проблема с более простым примером.

Следующая часть макета предназначена для прокручиваемого EditText (если пользовательский ввод превышает основной размер виджета). Я хотел установить высоту EditText на 120px, поэтому я устанавливаю родительскую высоту ScrollView 120px, а child EditText - fill_parent. Опять же, в этом случае EditText не заполняет всю область ScrollView, а одну строку:

 <ScrollView android:layout_height="120px" android:layout_width="fill_parent">
<EditText android:id="@+id/txtContent" android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="TestContent">
</EditText>
</ScrollView>

Кто-нибудь знает, как изменить содержимое выше, чтобы EditText заполнил родительский элемент управления, и если пользовательский ввод превышает размер элемента управления, появится прокрутка?

Спасибо!

Edit:

Ниже приведены скриншоты макета

удалена мертвая ссылка ImageShack
удалена мертвая ссылка ImageShack

4b9b3361

Ответ 1

Ваш текст EditText должен иметь высоту wrap_content. fill_parent не имеет смысла в ScrollView. Если вы хотите, чтобы EditText заполнил ваш ScrollView, когда его содержимое меньше, чем ScrollView, используйте android:fillViewport="true" в ScrollView.

Ответ 2

Да, как сказал Ромен, scrollview нуждается в комбо.

  • для ScrollView android:fillViewport="true"
  • для дочернего элемента ScrollView android:layout_height="wrap_content"