动态膨胀视图时滚动到底部
Scroll to bottom when dynamically inflating view
我有一个 LinearLayout
,我正在给它充气一个 CardView
,就像这样:
final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
子视图的 inflation 是通过单击按钮完成的。每当新的 cardview 膨胀时,我想滚动到屏幕底部。我是这样做的:
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
但这会滚动到屏幕中间的某个位置,而不是底部。我做错了什么?
你必须 post 一个事件发生在下一帧,当这个 ScrollView
被布置时:
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
我有一个 LinearLayout
,我正在给它充气一个 CardView
,就像这样:
final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
子视图的 inflation 是通过单击按钮完成的。每当新的 cardview 膨胀时,我想滚动到屏幕底部。我是这样做的:
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
但这会滚动到屏幕中间的某个位置,而不是底部。我做错了什么?
你必须 post 一个事件发生在下一帧,当这个 ScrollView
被布置时:
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});