1. TextView

1.1 设置TextView可滚动且更新文字后自动滚动至最后一行

【方案】如下步骤

① 在TextView布局文件中给TextView加入如下属性

android:scrollbars="vertical"        android:fadeScrollbars="false"

② 在Activity中的onCreate()方法中,使用setMovementMethod(MovementMethod movement)方法配置TextView的滚动方式。

TextView tv = (TextView) findViewById(R.id.tv_log);tv.setMovementMethod(ScrollingMovementMethod.getInstance());

③ 更新文字时,使用View.scrollTo(int x,int y)方法使其自动滚动到最后一行。

    private void printLog(String log) {        tv.append("\n" + log);        // 计算偏移量        int offset = tv.getLayout().getLineTop(tv.getLineCount()) + tv.getCompoundPaddingTop() + tv.getCompoundPaddingBottom();        // 滚动到目标定位点        if (offset > tv.getHeight()) {            tv.scrollTo(0, offset - tv.getHeight());        }    }

【参考1】https://www.jianshu.com/p/01d9b4564908  # Android 如何实现带滚动条的TextView,在更新文字时自动滚动到最后一行?
【参考2】https://stackoverflow.com/questions/34248301/textview-getlinecountgetlineheight-getheight#  # TextView getLineCount()*getLineHeight() != getHeight()

更多相关文章

  1. TextView中ellipsize属性
  2. Android的线程Handler实现
  3. Android应用程序组件Content Provider的共享数据更新通知机制分
  4. Android实现widget定时更新
  5. 新手android 开发 错误集锦(持续更新中)
  6. 【源码分享下载】每日更新之Android应用源码之仿微信5.2布局
  7. Android(安卓)Studio——Android(安卓)Studio更新升级方法
  8. Android(安卓)Studio启动时出现unable to access android sdk ad
  9. TextView跑马灯效果

随机推荐

  1. Android显示调用App内部组件/第三方App内
  2. 深入理解 Android(安卓)Activity的生命周
  3. android横竖屏切换的一点感想
  4. listview android:cacheColorHint,androi
  5. [置顶] Android按返回键退出程序但不销毁
  6. 如何关联androidSDK源代码
  7. 编写android jni代码时遇到的问题
  8. Android设定屏幕只竖屏或只横屏的两种方
  9. Android(安卓)中文 API (21) ―― DigitalC
  10. Android(安卓)全局Activity动画设置