Vivek.anand34 Ответов: 1

Как горизонтальный вид прокрутки в Android


Я разработал horizontalscrollview для listview у меня есть более 5 столбцов в виде списка. у меня есть проблема в horizontalscrollview. он прокручивается 1 раз, только во второй раз я не могу прокрутить. Текст скрыт. пожалуйста, дайте мне решение для этого.

Что я уже пробовал:

<?xml version="1.0" encoding="utf-8"?>

<HorizontalScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/hscroll"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
    tools:context=".ReportFragment"
   >




    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp">


            <TextView
                android:id="@+id/date"
                android:layout_width="55dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Date"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1"
                />

            <TextView
                android:id="@+id/empname"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Employee"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1"
                />

            <TextView
                android:id="@+id/intime"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Time"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1" />

            <TextView
                android:id="@+id/outtime"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Out Time"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1" />

            <TextView
                android:id="@+id/hours"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Hours"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1" />

            <TextView
                android:id="@+id/inaddress"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Address"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1" />
            <TextView
                android:id="@+id/inaddress1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Address1"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1" />
            <TextView
                android:id="@+id/inaddress2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Address2"
                android:textColor="@color/black"
                android:textSize="15dp"
                android:layout_weight="1" />


        </LinearLayout>



        <ListView
            android:id="@+id/lvMonthlyAttend"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="50dp">

        </ListView>

    </LinearLayout>


</HorizontalScrollView>

David Crow

-...во второй раз я не могу прокрутить. "

Что именно это означает? Является ли пользовательский интерфейс замороженным? Он все еще прокручивается полностью вправо с первого раза?

Я поместил ваш макет как есть в фиктивное приложение, и он отлично работал на эмуляторе. Так что проблема может быть в другом.

1 Ответов

Рейтинг:
1

TheOldFogie

Я считаю, что ваша проблема заключается в том, что вы, по указание ширины 0dp и веса 1 для текстовых представлений (отличных от первых 2), указывающих, чтобы представления соответствовали ширине линейного макета, в котором они содержатся.

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

например, следующий макет (протестированный на планшете) можно прокручивать. :-

<?xml version="1.0" encoding="utf-8"?>

<HorizontalScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/hscroll"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
    >



    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp">


            <TextView
                android:id="@+id/date"
                android:layout_width="255dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Date"
                android:textColor="@color/black"
                android:textSize="15dp"
                />

            <TextView
                android:id="@+id/empname"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Employee"
                android:textColor="@color/black"
                android:textSize="15dp"
                />

            <TextView
                android:id="@+id/intime"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Time"
                android:textColor="@color/black"
                android:textSize="15dp"
                />

            <TextView
                android:id="@+id/outtime"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Out Time"
                android:textColor="@color/black"
                android:textSize="15dp"
                />

            <TextView
                android:id="@+id/hours"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="Hours"
                android:textColor="@color/black"
                android:textSize="15dp"
                />

            <TextView
                android:id="@+id/inaddress"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Address"
                android:textColor="@color/black"
                android:textSize="15dp"
                />
            <TextView
                android:id="@+id/inaddress1"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Address1"
                android:textColor="@color/black"
                android:textSize="15dp"
                />
            <TextView
                android:id="@+id/inaddress2"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:padding="2dp"
                android:text="In Address2"
                android:textColor="@color/black"
                android:textSize="15dp"
                />


        </LinearLayout>



        <ListView
            android:id="@+id/lvMonthlyAttend"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="50dp">

        </ListView>

    </LinearLayout>


</HorizontalScrollView>


Очевидно, вам нужно будет принять подходящую ширину.