轉(zhuǎn)發(fā)請備注原文鏈接地址:https://www.niwoxuexi.com/blog/android/article/221.html
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)建站為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)建站核心團隊10余年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。我們在開發(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)用場景需求。