CardView 展开后自动滚动

Posted

技术标签:

【中文标题】CardView 展开后自动滚动【英文标题】:Automatic scroll CardView after expanding 【发布时间】:2018-11-28 17:59:00 【问题描述】:

​我正在开发一个包含使用自定义 ArrayAdapter 填充的 CardViews 的 ListView 的 android 应用程序。

CardViews 有一个可展开的区域,点击时向下滑动即可看到该区域。​​

但是,当我查看屏幕上可见的最后一个 CardView 时,我只能看到 CardView 的不可扩展部分,即只有我自己向下滚动才能查看可扩展部分。

我以前见过这种类型的功能,通过向下滚动自动调整布局以包含可扩展部分。

我自己无法实现。

我怎样才能实现这个功能?

【问题讨论】:

【参考方案1】:

如果您使用滚动视图作为 CardView 中内容的包装器。你可以使用

mScrollView.post(new Runnable()  
    public void run()  
         mScrollView.scrollTo(0, mScrollView.getBottom());
     
);

mScrollView.post(new Runnable()  
    public void run()  
         mScrollView.fullScroll(mScrollView.FOCUS_DOWN);
     
);

以上两个代码来自问题Can I scroll a ScrollView programmatically in Android?

也试试

scrollView.scrollTo(0, TextView.getBottom());

textview 在卡片视图底部的位置

否则你可以尝试使用

yourview.fullscroll(yourview.FOCUS_DOWN);

如果可能的话

【讨论】:

我使用了卡片视图的列表视图,所以如果我使用“scrollview 作为 CardView 中我的内容的包装”,它不会对活动的滚动产生任何影响。

以上是关于CardView 展开后自动滚动的主要内容,如果未能解决你的问题,请参考以下文章

如何使 JTable 自动调整大小和水平滚动?

CTreeCtrl 展开而不滚动

RecyclerView中的CardView垂直滚动

自动调整 textarea 最大 5 行限制,然后显示滚动条

滚动条自动上下滚,如何解决?

回收站视图滚动不顺畅 - Cardview