android可自动定位到底部的textview
来源:互联网 发布:国家统计局gdp数据 编辑:程序博客网 时间:2024/04/30 22:30
背景
在很多情况下我们可能见过像类似显示歌词页面,出来一句歌词就自动将页面向上滚动并且定位到最底部,简单回忆并实现xml中创建和动态创建两种情况。
- 第一种是在xml中创建布局
- 第二种是动态生成的布局
分析
当然textview想要实现垂直滚动,我们可以将其外层嵌套一个ScrollView,设置好两个属性 android:fadeScrollbars=”false”和android:scrollbars=”vertical”,这是什么意思呢:fadeScrollbars就是是否显示滑动按钮,当然scrollbars是滑动的方向。
实例
一如既往,以实际演示为主更容易学会使用
- xml创建布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="300dp" android:background="@color/colorAccent" android:fadeScrollbars="false" android:scrollbars="vertical"> <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fadeScrollbars="false" android:scrollbars="vertical" android:textSize="25sp"/> </ScrollView> <Button android:id="@+id/btn_add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/scrollView" android:text="增加" android:textSize="25sp"/></RelativeLayout>
- MainActivity代码
public class MainActivity extends AppCompatActivity { TextView mTextView; ScrollView mScrollView; Button mButton; int count; Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView = (TextView) findViewById(R.id.textview); mScrollView = (ScrollView) findViewById(R.id.scrollView); mButton = (Button) findViewById(R.id.btn_add); mTextView.setMovementMethod(ScrollingMovementMethod.getInstance()); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { count++; mTextView.append("\r\n"); mTextView.append(count + ""); scrollToBottom(mScrollView, mTextView); } }); } /** * 根据scrolview 和子view去测量滑动的位置 * * @param scrollView * @param view */ private void scrollToBottom(final ScrollView scrollView, final View view) { handler.post(new Runnable() { @Override public void run() { if (scrollView == null || view == null) { return; } // offset偏移量。是指当textview中内容超出 scrollview的高度,那么超出部分就是偏移量 int offset = view.getMeasuredHeight() - scrollView.getMeasuredHeight(); if (offset < 0) { offset = 0; } //scrollview开始滚动 scrollView.scrollTo(0, offset); } }); } @Override protected void onDestroy() { super.onDestroy(); if (handler != null) { handler = null; } }}
- 效果展示
动态生成的可自行练习,思路是用悬浮窗实现。
0 0
- android可自动定位到底部的textview
- android TextView多行文本始终显示滚动条并自动定位到底部
- android TextView多行文本始终显示滚动条并自动定位到底部
- 聊天室的自动定位显示到底部的方法
- Android:可复制的TextView、EditText,复制文字到剪贴板
- Android的ListView,数据更新后自动scroll到底部。
- 定位到最底部
- android ScrollView 解决自动滚动到底部
- android:防止ScrollView自动滚动到底部
- iOS textview滚动到底部
- scrollview自动滑动到底部的问题
- 监听TextView内容是否滑到底部的事件
- Android 自定义ScrollView可监控滑动方向、滑动到底部
- android自定义之可滚动的TextView
- Android可收缩/扩展的TextView【1】
- Android可收缩/扩展的TextView【2】
- Android可收缩/扩展的TextView【1】
- Android可收缩/扩展的TextView
- 滚动条
- lantern官方下载
- 3.7V锂电池供电方案探讨
- java学习基础面向对象之构造方法 五-3
- javascript实现,求一组数的最小公倍数
- android可自动定位到底部的textview
- 2.2 Git 基础 - 记录每次更新到仓库
- Qstring
- errno描述
- ICE简单介绍及使用示例
- 2016 Top 10 Android Library
- php gzip压缩输出的实现方法
- Java并发编程基础(三)
- 项目经理评分 = _ =