Kev*_*vie 3 android android-chips
我正在尝试Chips在水平滚动中制作一个包含 4 的 Activity ChipGroup。
此活动使用ChipGroup作为 API 调用的过滤器,并且可以有附加信息告诉用户选择了哪个芯片。
目前我正在这样做:
chipScroll.postDelayed(() -> {
chipScroll.smoothScrollBy(800, 0);
},100);
Run Code Online (Sandbox Code Playgroud)
但这对于我想要实现的目标来说是一个相当古怪的解决方案。
还有其他方法可以滚动到Chip水平滚动中的选定内容吗ChipGroup?
编辑 :
我想过尝试迭代地获取所有芯片ChipGroup并匹配其 ID。但它似乎也很hacky。spinnerAdapter.getItem(spinner.getSelectedItemPosition)我的目标是这样的
我在这里找到了答案。
我忘记了它ChipGroup基本上只是一个ViewGroup,只是HorizontalScrollView为了滚动目的而额外添加的。
我可以做类似的事情:
chipGroup.post(() -> {
Chip chipByTag = chipGroup.findViewWithTag(filterModel.getComplaint_status());
chipGroup.check(chipByTag.getId());
chipScroll.smoothScrollTo(chipByTag.getLeft() - chipByTag.getPaddingLeft(), chipByTag.getTop());
});
Run Code Online (Sandbox Code Playgroud)
执行此操作onCreate会崩溃,因为Tag尚未分配,并且我正在使用DataBindingXML (CMIIW) 中的标记,因此,我们应该在.post()可运行中执行此操作。
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |