防止从屏幕上的任何位置访问 Horizo​​ntalScrollView

Prevent HorizontalScrollView to be accessed from anywhere on the screen

我(在 Android Studio 中)制作了一个 Horizo​​ntalScrollView,我可以从屏幕上的任何位置访问它,这意味着无论我在哪里滚动,无论是在屏幕的顶部还是底部,ScrollView在中间滚动。

这是代码:

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:layout_marginRight="20dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="1">

        <ImageButton
            android:id="@+id/somerandomid"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:background="@drawable/image"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="140dp" />
        <ImageButton
            android:id="@+id/somerandomid"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:background="@drawable/image"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="140dp" />
   </LinearLayout>
</HorizontalScrollView>

您需要进行布局wrap_content,例如:

<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:layout_marginRight="20dp"
android:layout_marginTop="140dp">

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

    <ImageButton
        android:id="@+id/somerandomid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="@drawable/image"
        android:layout_marginLeft="20dp"
        />
    <ImageButton
        android:id="@+id/somerandomid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="@drawable/image"
        android:layout_marginLeft="20dp"
         />
  </LinearLayout>
  </HorizontalScrollView>

请 post 此布局的所有代码,尽管我可能建议为 horizo​​ntalSerollView 使用特定高度以保护它免受 match_parent 或 wrap_content 的影响,并使用 RelativeLayout 作为子视图。

<HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="your_height(not match_parent)"
        android:id="@+id/horizontalScrollView"
        android:scrollbars="none">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center">

    <ImageButton
        android:id="@+id/somerandomid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="@drawable/image"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="140dp" />

    <ImageButton
        android:id="@+id/somerandomid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="@drawable/image"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="140dp" />

        </RelativeLayout>

    </HorizontalScrollView>