轉(zhuǎn)發(fā)請備注原文鏈接地址:https://www.niwoxuexi.com/blog/android/article/221.html
我們在開發(fā)的過程中,經(jīng)常會遇到ScrollView滾動到底部和頂部的情況,下面是一種簡單的設(shè)置方法
1,設(shè)置ScrollView滾動到頂部
//設(shè)置ScrollView滾動到頂部 scrollView.fullScroll(ScrollView.FOCUS_UP);
2,設(shè)置ScrollView滾動到底部
//設(shè)置ScrollView滾動到頂部 scrollView.fullScroll(ScrollView.FOCUS_DOWN);
需要注意的是,該方法在頁面還沒有顯示出來的時候是不能直接調(diào)用的。
因為Android很多函數(shù)都是基于消息隊列來同步,在addView完之后,不等于馬上就會顯示,而是在隊列中等待處理。這個時候調(diào)用會報錯
應(yīng)對方法通過handler在新線程中更新:例如:
Handler handler = new Handler(); handler.post(new Runnable() { @Override public void run() { //設(shè)置ScrollView滾動到頂部 scrollView.fullScroll(ScrollView.FOCUS_UP); } });
當(dāng)然網(wǎng)上還有另一種解決方案:有點復(fù)雜:調(diào)用用scrollTo()方法
public static void scrollToBottom(final View scroll, final View innerView) { Handler handler = new Handler(); handler.post(new Runnable() { public void run() { if (scroll == null || innerView == null) { return; } int offset = innerView.getMeasuredHeight() - scroll.getHeight(); if (offset < 0) offset = 0; scroll.scrollTo(0, offset); } }); }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。