+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

Android 将ScrollView滚动到底部最后一个控件的3种方法

方案1:使用 scrollTo 或 smoothScrollTo 滚动到 scrollview 最后一个节点位置 public static void scrollToBottom(final View scroll, final View inner) { Handler handler = new Handler(); handler.post(new Runnable() { public void run() { int offset = inner.getMeasuredHeight() - scroll.getHeight(); if (offset < 0) { offset = 0; } scroll.scrollTo(0, offset); } }); } 方案2:使用监听方法 addOnGlobalLayoutListener scrollView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { scrollView.post(new Runnable() { public void run() { scrollView.fullScroll(View.FOCUS_DOWN); } }); } }); 方案3:在该方案中,如过scrollview中元素还未加载完全就调用,滚动到底部会失败,推荐使用方案3) scrollView.post(new Runnable() { public void run() { scrollView.fullScroll(View.FOCUS_DOWN); } });
我的笔记
你可能想看的