TextView显示长文本

项目代码:见 这里

TextView显示长文本_第1张图片
从上到下7个TextView,参数分别为:

	<TextView
        style="@style/TextViewDemoItem"/>

    <TextView
        android:singleLine="true"
        android:ellipsize="start"
        style="@style/TextViewDemoItem"/>

    <TextView
        android:singleLine="true"
        android:ellipsize="end"
        style="@style/TextViewDemoItem"/>

    <TextView
        android:singleLine="true"
        android:ellipsize="middle"
        style="@style/TextViewDemoItem"/>

    <com.gaoxiang.uidemo.extra.FocusedTextView
        android:singleLine="true"
        android:ellipsize="marquee"
        android:focusable="true"
        android:scrollHorizontally="true"
        android:marqueeRepeatLimit="marquee_forever"
        style="@style/TextViewDemoItem"/>


    <TextView
        android:maxLines="2"
        android:ellipsize="end"
        android:scrollbars="vertical"
        style="@style/TextViewDemoItem" />

    <TextView
        android:id="@+id/verticalScrollText"
        android:maxLines="2"
        android:scrollbars="vertical"
        style="@style/TextViewDemoItem" />

补充说明的是:

① 使用跑马灯时,需要自定义TextView,主要要重写isFouced方法返回true,跑马灯才能跑起来。

class FocusedTextView : TextView {
    constructor(context: Context?) : super(context)
    constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(
        context,
        attrs,
        defStyleAttr
    )

    override fun isFocused() = true
}

② 使用垂直滚动条时,代码中还要设置 ScrollingMovementMethod

verticalScrollText.movementMethod = ScrollingMovementMethod.getInstance()

你可能感兴趣的:(Android)