Android 带有单个滑动文本的水平滚动视图

Android 带有单个滑动文本的水平滚动视图,android,horizontal-scrolling,Android,Horizontal Scrolling,我正忙于一个水平滚动视图,其中只有一个文本视图。 我很难让textview在没有任何空间的情况下从一边滑到另一边 如果我只添加文本视图,它将无法滑动 基本上,我想要的是一个水平滚动视图,中间有一个文本视图,它可以向左或向右滚动,但不能过度滚动(仍然可见) 我当前的布局如下所示: <HorizontalScrollView android:layout_width="250dp" android:layout_height="35dp" android:scrollb

我正忙于一个水平滚动视图,其中只有一个文本视图。 我很难让textview在没有任何空间的情况下从一边滑到另一边

如果我只添加文本视图,它将无法滑动

基本上,我想要的是一个水平滚动视图,中间有一个文本视图,它可以向左或向右滚动,但不能过度滚动(仍然可见)

我当前的布局如下所示:

<HorizontalScrollView
    android:layout_width="250dp"
    android:layout_height="35dp"
    android:scrollbars="none" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="36dp" >

        <Space
            android:layout_width="125dp"
            android:layout_height="wrap_content"
            android:background="#808080" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TEST"
            android:textSize="30dp" />

        <Space
            android:layout_width="125dp"
            android:layout_height="wrap_content"
            android:background="#808080" />
    </LinearLayout>
</HorizontalScrollView>


事实上,我认为你的观点基本正确。然而,我认为您要做的是在运行时获得屏幕分辨率,然后使用包装内容的textview,获得其运行时分辨率,然后将左空格和右空格的宽度(在运行时)设置为(ScreenResWidth TextViewWidth)

这意味着您需要给TextView和这两个空间一个ID,以便您可以从Java代码中访问它们

使用:

在文本视图中居中显示文本

使用:

在java代码中获取textview的后期布局宽度(以像素为单位)

使用:

使用顶部、左侧、右侧和底部参数设置左侧和右侧空间的位置和大小

使用以下命令在XML文件中提供视图ID:

android:id="@+id/myText"
android:id="@+id/myLeftSpace"
android:id="@+id/myRightSpace"

哦,是的,如果我删除了空间视图,那么我的文本视图就不能滚动。我必须承认,我不确定你试图做的是滚动视图的预期用途。scrollviews的目的是允许您将大于物理屏幕的内容滚动到视图中。单个单词的文本视图不大于屏幕的物理空间。您可以尝试将textview宽度设置为280,并设置文本在其中居中的属性。这样你至少不需要2个空格。虽然你仍然在做同样的事情。我认为我做的不对,但是请任何建议都有帮助,基本上我想让文本出现在中间,然后用户可以把它滑动到一边或另一边。水平滚动视图是不是使用了错误的视图?我实际上认为你的观点基本上是正确的。不过,我想你要做的是在运行时获得屏幕分辨率,然后使用包装内容的textview,获得其运行时分辨率,然后将左空格和右空格的宽度(在运行时)设置为(ScreenResWidth TextViewWidth)。这与我使用的不完全一样,但它让我知道了如何修复我的应用程序,所以谢谢:)
android:gravity="center_horizontal"
textview.getWidth();
leftOrRightView.layout(int left, int top, int right, int bottom); 
android:id="@+id/myText"
android:id="@+id/myLeftSpace"
android:id="@+id/myRightSpace"