如何使值固定并在滚动时突出显示在中心

fhg3lkii  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(621)

我有一个要求,创建如下用户界面



你可以看到这里的数字是突出显示的部分,它总是在中心。我们从左向右滚动,反之亦然。
我想实现这一点,所以,我写了一些代码如下。但我不知道如何添加滚动效果,并将突出显示的文本中心

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        app:layout_constraintBottom_toTopOf="@+id/idCameraControlBottom"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent">

        <TextView
            android:id="@+id/idZoom1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="50dp"
            android:text="."
            android:textAlignment="textEnd"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/idZoom2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="50dp"
            android:background="@drawable/circle_shade"
            android:gravity="center"
            android:text="1X"
            android:textSize="16sp" />

        <TextView
            android:id="@+id/idZoom3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="."
            android:textAlignment="viewStart"
            android:textSize="20sp"
            android:textStyle="bold" />

    </LinearLayout>

非常感谢您的任何建议/帮助。

c6ubokkw

c6ubokkw1#

您可以这样创建:

<RelativeLayout
    android:layout_centerInParent="true"
    android:layout_width="100dp"
    android:layout_height="wrap_content">
    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"/>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"/>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"/>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"/>
        </LinearLayout>
    </HorizontalScrollView>
    <TextView
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#000"
        android:textColor="#fff"
        android:text="1"/>
</RelativeLayout>

改变它,因为你认为合适,基本上,相对的布局父持有在水平滚动滚动视图,在它里面你有你需要的滚动视图。如果你定义了数字视图,在一个相对的布局中,它将被简单地排列在上面。然后可以将其居中显示在可滚动的滚动视图上方。注意以下2点:
仅当用户触摸可滚动视图时才会执行滚动。如中所示,如果用户试图从按自己的号码开始滑动,则不会滚动。
数字后面的内容将隐藏在它后面,它不会从一边“跳过”到另一边,这样你就可以有“看不见”的内容。

相关问题