在scrollView中的相对布局之间动态滚动

 mggwvga_84049035 发布于 2023-02-05 11:03

我有一个滚动视图,其中我有几个相对布局.并且相对布局有两个按钮动态添加到它.如下所示

滚动视图

  _____________________
 |   ________________  |
 |  |Relative Layout|  |
 |  |   |Buttons|   |  |
 |  |_______________|               
 |                     |
 |   ________________  |
 |  |Relative Layout|  |
 |  |   |Buttons|   |  |
 |  |_______________|                 
 |                     |
 |  |Relative Layout|  |
 |  |   |Buttons|   |  |
 |  |_______________|               
 |                     |
 |   ________________  |
 |  |Relative Layout|  |
 |  |   |Buttons|   |  |
 |  |_______________|                  
 |                     |
 |  |Relative Layout|  |
 |  |   |Buttons|   |  |
 |                     |
 |_____________________|

是否可以在按钮单击时动态滚动到特定的相对布局.我已经在下面尝试了它不起作用

if (count == 1) {
    final int k = id;
mScrollView.getViewTreeObserver().addOnGlobalLayoutListener(
        new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
                public void onGlobalLayout() {
            // TODO Auto-generated
        // method stub
        mScrollView.post(new Runnable() {
                @Override
            public void run() {
            Button btn = (Button) findViewById(k);
            mScrollView.smoothScrollTo(0,btn.getTop());
                }
        });

滚动到也不工作

编辑:最初我在相对布局中只有一组按钮.然后smoothScrollTo按预期工作.后来我把结构改成了上面的风格.

1 个回答
  • @Daniel Bo的提示是正确的.

    view.getTop() 将给出相对于其直接父母的位置.

    以下是实施.

    ScrollView mScrollView = (ScrollView) findViewById(R.id.scroll_view);
    mScrollView.post(new Runnable() {
        public void run() { 
            Button btn = (Button) findViewById(k); 
            ViewGroup vg =(ViewGroup)btn.getParent();
            mScrollView.smoothScrollTo(0,vg.getTop());
         }});
    }
    

    2023-02-05 11:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有