AutoScrollableTextViewinKotlin
创始人
2024-11-12 15:00:28
0

实现滚动文本视图需要做以下步骤:

  1. 在 XML 布局文件中定义 TextView,设置其属性以适应需要的大小和样式。

  2. 将 TextView 封装到 ScrollView 控件中,这样可以在 TextView 中包含大量文本而不会影响整个布局。

  3. 为 TextView 创建自定义 Kotlin 类,该类将实现一个可滚动视图,使 TextView 可以滚动并显示全部内容。

下面是实现此功能的代码示例:

在 XML 布局中,使用 ScrollView 包含 TextView,如下所示:


    

在 Kotlin 类中创建 TextView 滚动函数,如下所示:

class AutoScrollTextView(context: Context, attrs: AttributeSet) : TextView(context, attrs) {
    private var mScroller: Scroller? = null
    private var mYScroll: Int = 0

    init {
        mScroller = Scroller(context)
    }

    override fun computeScroll() {
        if (mScroller!!.computeScrollOffset()) {
            scrollTo(0, mScroller!!.currY)
            postInvalidate()
        }
    }

    fun setTextAndView() {
        this.postDelayed(Runnable {
            mYScroll = 0
            mScroller!!.startScroll(0, 0, 0, this.lineHeight * this.lineCount, 25000)
            invalidate()
        }, 200)
    }
}

在主活动文件中实例化自定义视图类并调用 setTextAndView 函数:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //获取 TextView
        val myTextView = findViewById(R.id.my_text_view)

相关内容

热门资讯

玩家必备科技!微扑克的辅助工具... 玩家必备科技!微扑克的辅助工具苹果,微扑克如何让系统发好牌(微扑克)确实有挂(有挂教学)-哔哩哔哩1...
传递经验!微扑克辅助工具,微扑... 传递经验!微扑克辅助工具,微扑克有挂么(微扑克)一直存在有挂(果真有挂)-哔哩哔哩1、进入到微扑克辅...
一分钟了解!微扑克的辅助工具苹... 一分钟了解!微扑克的辅助工具苹果,微扑克如何让系统发好牌(微扑克)原来真的是有挂(有挂秘诀)-哔哩哔...
一分钟了解!微扑克wpk辅助透... 一分钟了解!微扑克wpk辅助透视,微扑克透牌(微扑克)原来有挂(有挂细节)-哔哩哔哩1、下载好微扑克...
详细说明!微扑克辅助软件查得出... 详细说明!微扑克辅助软件查得出来吗,微扑克有挂么(微扑克)竟然是有挂(有挂透视)-哔哩哔哩1、许多玩...
实操分享!微扑克外挂,微扑克有... 实操分享!微扑克外挂,微扑克有挂么(微扑克)本来真的是有挂(有挂秘诀)-哔哩哔哩;1、微扑克有挂么a...
科技分享!微扑克辅牌器,微扑克... 科技分享!微扑克辅牌器,微扑克透牌(微扑克)一直是有挂(有挂技巧)-哔哩哔哩;暗藏猫腻,小编详细说明...
我来教大家!微扑克数据采集,微... 我来教大家!微扑克数据采集,微扑克有挂么(微扑克)本来真的是有挂(今日头条)-哔哩哔哩微扑克数据采集...
免费测试版!微扑克有透视挂吗,... 免费测试版!微扑克有透视挂吗,微扑克有挂么(微扑克)切实存在有挂(有挂攻略)-哔哩哔哩;1、每一步都...
我来教大家!微扑克智能ai辅助... 我来教大家!微扑克智能ai辅助,微扑克如何让系统发好牌(微扑克)总是真的有挂(有挂秘籍)-哔哩哔哩;...