Android 动态膨胀视图时滚动到底部
我有一个Android 动态膨胀视图时滚动到底部,android,android-layout,scrollview,android-view,android-scrollview,Android,Android Layout,Scrollview,Android View,Android Scrollview,我有一个LinearLayout,我在里面膨胀一个cardwiew,如下所示: final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout); final View childView = getLayoutInflater().inflate(R.layout.cardview, null); itineraryDetailLL.addView(child
LinearLayout
,我在里面膨胀一个cardwiew
,如下所示:
final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
只需单击一个按钮,即可对子视图进行充气。每当新的cardview充气时,我想滚动到屏幕底部。我是这样做的:
final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
但它会滚动到屏幕中间的某个位置,而不是底部。我做错了什么?你必须在下一帧发布一个事件,当这个
滚动视图
显示出来时:
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
您可以通过“scrollview.smoothScrollTo(0,(int)childView.getY())”;“充气后