как поместить просмотр списка в горизонтальный просмотр, чтобы список мог прокручиваться горизонтально? - PullRequest
0 голосов
/ 17 декабря 2018

Я создаю приложение, в котором требование похоже на то, что у меня есть список, который прокручивается по вертикали, и внутри этого списка каждый элемент имеет один список, который должен прокручиваться по горизонтали.Так что я должен установить этот список внутри горизонтальной прокрутки.Я создал пользовательский adpater для того, чтобы данные отображались в списке, все работает нормально, но только одна проблема в том, что список прокручивается по вертикали, потому что я не смог установить этот список по горизонтали.Пожалуйста, помогите, я искал много ответов, но это не работает.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="5dp">

        <android.support.v7.widget.CardView
            android:id="@+id/card_view_applicant"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="3dp"
            android:background="#fff"
            app:cardCornerRadius="8dp"
            app:cardElevation="1dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="horizontal">

                <TextView
                    android:id="@+id/tv_table_no"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="8dp"
                    android:text="T1"
                    android:textAlignment="center"
                    android:textColor=" #00008B"
                    android:textSize="25sp"
                    android:textStyle="bold" />

                <View
                    android:layout_width="1dp"
                    android:layout_height="match_parent"
                    android:background="#000000" />

            </LinearLayout>

            <HorizontalScrollView
                android:id="@+id/hsv"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fillViewport="true"
                android:measureAllChildren="false"
                android:scrollbars="none">

                <RelativeLayout
                    android:layout_width="wrap_content"
                    android:layout_marginLeft="50dp"
                    android:layout_height="match_parent">

                    <ListView
                        android:id="@+id/lv_timing"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"/>

                </RelativeLayout>

            </HorizontalScrollView>

        </android.support.v7.widget.CardView>

    </RelativeLayout>

</LinearLayout>

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

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы должны использовать RecyclerView для горизонтальной прокрутки, как:

LinearLayoutManager layoutManager= new 
LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL, false);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setLayoutManager(layoutManager);
0 голосов
/ 17 декабря 2018

Используйте android:layout_weight="1" внутри ListView.Сделайте LinearLayout родительский макет ListView вместо RelativeLayout и проверьте, работает он или нет.Я думаю, что это должно работать.

<LinearLayout
  ..........>
   <ListView
    ........
    android:layout_weight="1"/>
</LinearLayout>
...