1

UI要素が次の順序で配置されたxmlファイルがあります。私が解析しているデータはlistViewに取り込まれていますが、listViewはスクロールできません.助けてください

ImageView
TextView
imageView
ListView
imageView

レイアウト.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView_description"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffffff"
        android:focusableInTouchMode="true"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView_now_playing"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:scaleType="fitXY" />



        <TextView
            android:id="@+id/textView_DailyLimit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView_now_playing"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_marginTop="2dp"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_below="@+id/button_PlayArea"
            android:layout_marginTop="20dp"
            android:background="#ffffff"
            android:orientation="vertical" >

            <ListView
                android:id="@+id/listViewEpisodes"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:cacheColorHint="#000000"
                android:divider="@android:color/black"
                android:dividerHeight="5dp"
                android:textColor="#000000" />
        </LinearLayout>

        <ImageView
            android:id="@+id/button_Characters"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/linearLayout1"
            android:layout_marginTop="20dp"
            android:scaleType="fitXY"
            android:src="@drawable/gallery" />

        <ImageView
            android:id="@+id/button_PlayArea"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView_DailyLimit"
            android:layout_marginTop="20dp"
            android:scaleType="fitXY" />
    </RelativeLayout>

</ScrollView>
4

5 に答える 5

2

Listview内側に を配置することで、ここで大きな間違いを犯していますScrollview。上部の親としてScrollviewユーザーを削除すると、スクロールします。RelativeLayoutListview

また、ユーザーは何をスクロールする必要があるかを知ることができないため、2 つのスクロール可能なアイテムを並べて使用することは決して UX の提案ではありません。同様に、ユーザーがスクロールしようとしているものを認識できません。

提案


できることは 1 つです。TextView を Scrollview 内に保持し、その下に保持しますlistviewが、レイアウト全体をスクロール可能にしないでください。つまり、2 つの要素をスクロールできますが、スクロール可能な要素で画面全体をスクロールすることはできません。

于 2013-09-27T07:01:06.240 に答える
1
ListView lv = (ListView)findViewById(R.id.myListView);  // your listview inside scrollview
lv.setOnTouchListener(new ListView.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int action = event.getAction();
            switch (action) {
            case MotionEvent.ACTION_DOWN:
                // Disallow ScrollView to intercept touch events.
                v.getParent().requestDisallowInterceptTouchEvent(true);
                break;

            case MotionEvent.ACTION_UP:
                // Allow ScrollView to intercept touch events.
                v.getParent().requestDisallowInterceptTouchEvent(false);
                break;
            }

            // Handle ListView touch events.
            v.onTouchEvent(event);
            return true;
        }
    });
于 2013-09-30T09:32:25.187 に答える
0

コンテンツが長すぎる場合、ListView はスクロール可能になるため、ListView は ScrollView 内でスクロール可能にする必要はありません。

于 2013-09-27T07:07:36.897 に答える
0

listView を scrollView 内に配置しないでください。決して。

彼の素晴らしいビデオを見て、詳細を確認してください abt listView

http://www.youtube.com/watch?v=wDBM6wVEO70

于 2013-09-27T07:06:22.467 に答える