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()。
TA贡献1811条经验 获得超5个赞
这对我来说很好:
targetView.getParent().requestChildFocus(targetView,targetView);
public void RequestChildFocus(查看子级,查看已聚焦)
孩子 -这ViewParent想要对焦的孩子。该视图将包含焦点视图。实际上不一定是焦点。
聚焦 -视图是实际具有焦点的孩子的后代
- 3 回答
- 0 关注
- 331 浏览
添加回答
举报