为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法以编程方式将滚动视图滚动到特定的编辑文本?

有没有办法以编程方式将滚动视图滚动到特定的编辑文本?

慕神8447489 2019-12-13 09:45:30
我的滚动视图活动很长。它是具有用户必须填写的各个字段的表单。我在表单的一半下方有一个复选框,当用户选中它时,我想滚动到视图的特定部分。是否可以通过编程方式滚动到EditText对象(或任何其他视图对象)?另外,我知道使用X和Y坐标可以做到这一点,但是我想避免这样做,因为表单可能会因用户而异。
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

如果要将视图滚动到滚动视图的中心,可以大大提高Sherif elKhatib的答案。此可重复使用的方法将视图平滑滚动到HorizontalScrollView的可见中心。


private final void focusOnView(final HorizontalScrollView scroll, final View view) {

    new Handler().post(new Runnable() {

        @Override

        public void run() {

            int vLeft = view.getLeft();

            int vRight = view.getRight();

            int sWidth = scroll.getWidth();

            scroll.smoothScrollTo(((vLeft + vRight - sWidth) / 2), 0);

        }

    });

}

对于垂直ScrollView更改,输入的x和y位置smoothScroll。并使用view.getTop()代替view.getLeft()和view.getBottom()代替v.getRight()。

查看完整回答
反对 回复 2019-12-13
?
四季花海

TA贡献1811条经验 获得超5个赞

这对我来说很好:


  targetView.getParent().requestChildFocus(targetView,targetView);

public void RequestChildFocus(查看子级,查看已聚焦)


孩子 -这ViewParent想要对焦的孩子。该视图将包含焦点视图。实际上不一定是焦点。


聚焦 -视图是实际具有焦点的孩子的后代


查看完整回答
反对 回复 2019-12-13
  • 3 回答
  • 0 关注
  • 304 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信