yangsiyu11
2014-12-26 03:30
采纳率: 100%
浏览 1.8k

关于控件A设置了visibility控件B被挤压的问题

我有一个垂直线性布局,上面的是控件A,下面的是控件B(控件B是listview)。
起初控件A 是gone状态。控件B占据整个布局的高且控件B scroll到最底部。当触发了某事件,我设置控件A的状态变为visible。控件B被挤压了一部分。此时!问题来了,控件B会自动scroll到顶部。好像控件B 重绘了一样?我想知道设置完visible,控件B调用了哪个方法?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Birds2018 2014-12-26 04:42
    已采纳

    底层系统图形会自动刷新屏幕 。 ListView里面有可以调整滚动条的位置。
    ListView.smoothScrollToPosition(0);//顶部
    ListView.smoothScrollToPosition(listView.getCount() - 1);//底部

    点赞 打赏 评论
  • _Cisco_ 2014-12-26 12:05

    当控件设置成gone的时候,是不占任何空间的,
    当你将它设置成可见的时候,相当于重新将这个控件加入到布局中区,
    addview会被调用,addview里面的postInvalidate()会被触发。所以会刷新整个界面。
    所以你的listview就自动回到了顶端,不过我觉得不应该出现这种情况的,你可以检查一下你的代码,我觉得是代码的问题

    点赞 打赏 评论

相关推荐 更多相似问题