将包含片段的 ScrollView 滚动到特定片段
Scroll a ScrollView containing fragments to a specific fragment
我有一个 ScrollView
,我在特定条件下创建了多个 Fragments
。当我向 ScrollView 添加一个新片段以使其滚动时,我希望 Fragment
位于屏幕的最顶部。这是我的代码:
来自 Fragment
我在 onCreateView
中调用它(因为 Fragments
是动态生成的)
((MainActivity)getActivity()).scrollToFrag(frag_number+"");
在我的里面 MainActivity.class
public final void scrollToFrag(final String frag){
scrollView.postDelayed(new Runnable() {
public void run() {
scrollView.smoothScrollTo(0, getSupportFragmentManager().findFragmentByTag(frag).getView().getTop());
}
}, 100);
}
我注意到一个小的滚动移动,但不是我需要的(Fragment
根本没有到达顶部)
通过 运行 片段中可运行的代码也解决了这个问题
view.postDelayed(new Runnable() {
@Override
public void run() {
((MainActivity)getActivity()).scrollToFrag(frag_number+"");
}
}, 200);
我有一个 ScrollView
,我在特定条件下创建了多个 Fragments
。当我向 ScrollView 添加一个新片段以使其滚动时,我希望 Fragment
位于屏幕的最顶部。这是我的代码:
来自 Fragment
我在 onCreateView
中调用它(因为 Fragments
是动态生成的)
((MainActivity)getActivity()).scrollToFrag(frag_number+"");
在我的里面 MainActivity.class
public final void scrollToFrag(final String frag){
scrollView.postDelayed(new Runnable() {
public void run() {
scrollView.smoothScrollTo(0, getSupportFragmentManager().findFragmentByTag(frag).getView().getTop());
}
}, 100);
}
我注意到一个小的滚动移动,但不是我需要的(Fragment
根本没有到达顶部)
通过 运行 片段中可运行的代码也解决了这个问题
view.postDelayed(new Runnable() {
@Override
public void run() {
((MainActivity)getActivity()).scrollToFrag(frag_number+"");
}
}, 200);