Android中使用GridView分頁顯示系統所安裝的應用,支援拖動與手勢滑動

來源:互聯網
上載者:User

近在看ADW的東西,昨天從Launcher中提取了WorkSpace,可以左右拖動以及手勢滑動切換頁面,但是在測試中,只是使用靜態方法往裡面新增內容,相應的說明和源碼可以看這裡:

http://blog.csdn.net/Yao_GUET/archive/2011/05/04/6393962.aspx

 

現在測試一下使用addView方法,所以做一個分頁顯示系統所安裝程式的測試應用。

使用GridView來顯示系統已經安裝的應用,有別於原來的Launcher,把豎向滑動改為橫向滑動,使用的方法是GridView分頁。

先是擷取系統安裝的應用程式,然後再根據設定的每頁應該的大小來產生各個頁面的內容,這個使用GridView來裝載,每一個頁面對應一個GridView,然後再把這些頁面添加到SrollLayout裡面去。

不過確切的說,應該不屬於分頁的方法了,因為產生了多個GridView。。。

  

源碼:http://download.csdn.net/source/3250531

 

關鍵源碼如下:

/**<br /> * 擷取系統所有的應用程式,並根據APP_PAGE_SIZE產生相應的GridView頁面<br /> * @author Yao.GUET<br /> * blog: http://blog.csdn.net/Yao_GUET<br /> */<br />public void initViews() {<br />final PackageManager packageManager = getPackageManager();<br /> final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);<br /> mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);<br /> // get all apps<br /> final List<ResolveInfo> apps = packageManager.queryIntentActivities(mainIntent, 0);</p><p> // the total pages<br /> final int PageCount = (int)Math.ceil(apps.size()/APP_PAGE_SIZE);<br /> Log.e(TAG, "size:"+apps.size()+" page:"+PageCount);<br /> for (int i=0; i<PageCount; i++) {<br /> GridView appPage = new GridView(this);<br /> // get the "i" page data<br /> appPage.setAdapter(new AppAdapter(this, apps, i));</p><p> appPage.setNumColumns(4);<br /> appPage.setOnItemClickListener(listener);<br /> mScrollLayout.addView(appPage);<br /> }<br />}

 

更多內容請登入我的blog:

http://blog.csdn.net/yao_guet

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.