Вопрос

На моем экране у меня есть вид списка и кнопка. Мой список имеет вроде 8 товаров. Я хотел бы, чтобы мой экран прокручиваю, если оба этих элемента не вписываются. Я не хочу, чтобы мой список имел прокрутку, но полный макет, включая оба списка и кнопку. Если я использую макет ниже, он показывает только на элементе внутри списка, и я должен прокручивать в списке, чтобы перейти к следующему элементу.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent" >
<LinearLayout
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

        <ListView android:id="@android:id/list"
            android:layout_height="wrap_content" android:layout_width="fill_parent"
            android:background="@drawable/round_background" />

        <Button android:text="Search" android:id="@+id/carSearchButton"
            android:layout_gravity="center_horizontal" android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
Это было полезно?

Решение 2

Scythe вид ответов на мой вопрос, но я хотел больше, чем один один контроль под списком также на другом экране, который я хотел 2 списка. Поэтому для того, чтобы полоса прокрутки работать со списком представления, мне пришлось исправить высоту списка.

Другие советы

Вы не можете поставить список ListView внутри ScrollView. GRIDVIEW или любого взгляда, которое обрабатывает прокрутку на одной оси, так как ScrollView делает. Таким образом, каркас не знает, какой вид должен обрабатывать событие прокрутки. Этот макет не будет создавать ошибку при его компиляции, но она не будет работать должным образом.

Здесь вы должны сделать: сбросьте внешний ScrollView, вам это не нужно. Используйте только ListView и добавьте кнопку в список listView, используя .addfooter (), это самый простой способ. Таким образом, ваша кнопка появится в виде элемента списка, но вам не нужно беспорядок с пользовательским адаптером.

Если ваша проблема с ListView, не прокручивая внутри ScrollView, вот решение для обработки этого.

Реализуйте свой собственный список продлен класса ListView и реализуйте ниже метод.

 

@Override public boolean onTouchEvent(MotionEvent ev) { int action = ev.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. this.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. this.getParent().requestDisallowInterceptTouchEvent(false); break; } super.onTouchEvent(ev); return true; }

Дайте мне знать, что это решает вашу проблему?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top