在Android中实现垂直流动文本的最佳方法是什么?

时间:2014-07-04 13:17:54

标签: android textview

我在屏幕截图中有一个可更改的文字,其数量根据加号和减号按钮而变化。

在Android上实现该功能的最佳方式是什么?

在这种情况下我可以使用Spannable文本吗?或者我实现它 带有TextView的垂直LinearLayout然后是分隔符视图,然后是另一个更改的TextView?

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您想以自己的方式进行,请在加号和减号按钮上查找click个事件,根据这些点击事件更改整数变量(例如mQuantity){{1}或分别为mQuantity++),并使用mQuantity--更改TextView内容。额外的mQuantityLabel.setText(mQuantity+"");是为了避免+""setText内寻找可能不存在的id。您可能只需要将int转换为String,但这足以满足此情况。

然而,对于已经建立的数量增加/减少的解决方案可能更明智,例如NumberPicker(在API 11之后)或SimonVT's NumberPicker(NumberPicker的后端,如果minSdkVersion是先前的到API 11)。

答案 1 :(得分:0)

使用LinearLayout管理以实现此布局。

这很简单,我认为它可能需要棘手的布局技术,但结果很简单。

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

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/quantity"
            android:textAppearance="@android:style/TextAppearance.Medium" />

        <View
            android:layout_width="match_parent"
            android:layout_height="2px"
            android:background="@color/black" />

        <TextView
            android:id="@+id/quantity_text_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="01"
            android:textAppearance="@android:style/TextAppearance.Medium" />
    </LinearLayout>