前言 在學習 TabLayout 的時候為了加深自己的記憶,將 TabLayout 和ViewPager 進行了一些簡單的封裝,可以更加快捷的生成我們想要的滑動頁面,對于新手拿來練手還是不錯的,由于技術(shù)水平有限,大神勿噴! 實現(xiàn)流程 下面我們來具體說一下實現(xiàn)流程,首先我們使用 TabLayout 的時候要在我們的項目中添加依賴,需要在 app 的 gradle 中添加依賴: compile 'com.android.support:design:24.2.0' 首先我們創(chuàng)建主布局,一個 TabLayout 和一個 ViewPager <LinearLayout 然后我們創(chuàng)建對應的 fragment 并且為其添加布局 public class Fragment1 extends Fragment { 我這里為了演示只創(chuàng)建兩個 fragment。接下來我們實現(xiàn)tablayout+viewpager 實現(xiàn)滑動選項的滑動邏輯,如下代碼。 protected void onCreate(Bundle savedInstanceState) { 如果你學習過 TabLayout,相信這些代碼你一定可以看懂,以上代碼中viewpager 設(shè)置適配器是使用 Tablayout 的核心代碼。在我看來,TabLayout+ViewPager 實現(xiàn) Tab 滑動就是使用 ViewPager 設(shè)置adapter 填充 fragment,然后將 TabLayout 和 ViewPager 關(guān)聯(lián)即可,我們接下來主要講如何實現(xiàn) TabLayout 和 ViewPager 的封裝,目的就是讓你在創(chuàng)建了最基本的布局和 Fragment 之后可以很輕松的通過三行代碼就能實現(xiàn)一個滑動 Tab。 首先我們對部分代碼進行封裝,我們分三步封裝,第一步封裝如下最主要代碼,也是使用使用 Tablayout 的核心代碼。 /** 這部分代碼是核心,主要是給 ViewPager 設(shè)置適配器并且實現(xiàn)與TabLayout 的關(guān)聯(lián),我們首先創(chuàng)建一個工具類 ItHqAddTab。 public class ItHqAddTab { 封裝邏輯如上圖,我們創(chuàng)建了一個公開的 addTab,里面?zhèn)魅胛鍌€參數(shù),我們尤其要注意最后一個參數(shù)。對封裝好如上代碼時,我們可以直接使用一行代碼代替復雜的邏輯。 ItHqAddTab.addTab(mTabLayout,mViewPager,mFragment,mTitle,getSupportFragmentManager()); 當然我們封裝代碼就是為了以后更好的使用,像如下代碼我們也覺得繁瑣,所以我們再對如下代碼進行簡單的封裝。 mTitle = new ArrayList<>(); 我們再創(chuàng)建一個 ItHqAddTitle 工具類,如下. public class ItHqAddTitle { 在封裝這個類的時候遇到的一個主要的問題就是,當你去創(chuàng)建 tab 的頁面名稱時使用的時 string,但是我們這里需要的是List 同理對于添加 Fragment 的封裝大抵相同,這里貼出代碼. public class ItHqAddFragment { 如此一來,我們就將主要的一些方法都單獨封裝成了一個工具類。 這樣我們就可以通過三行代碼來輕松實現(xiàn) tab 的滑動了。 mTile = ItHqAddTile.addTile("首頁","中心"); 制作自己的開源庫 完成以上功能,我們就可以輕松的實現(xiàn)tab滑動選項,這么好的事我們應該和別人一起分享,因此我們可以將項目制作成開源庫開源出去! 首先在項目的基礎(chǔ)上我們新建一個Module,然后選擇Library. 然后打開剛創(chuàng)建的Library,將之前封裝成的三個類全部復制到里面. 這里面需要注意,我們同時需要在新建的Library中的build.gradle中添加TabLayout的依賴,不然會報錯。 完成以上步驟我們就開始開源之旅吧,我們利用jitpack將項目開源到github,第一步我們將項目整體上傳到GitHub。 然后添加一個release. 然后復制我們這個倉庫的地址,比如我的https://github.com/ithuangqing/ItHqSimpleTabLyout然后打開jitpack,將倉庫鏈接復制進去,點擊look up,點擊git it. 然后我們會得到如下依賴代碼. 將 maven { url 'https://www.' }和 compile 'com.github.ithuangqing:ItHqSimpleTabLyout:v1.3' 依賴到我們的項目中就可以使用這個庫了 解下來我們看看如何使用,首先新建項目,將 maven { url 'https://www.' } 和 compile 'com.github.ithuangqing:ItHqSimpleTabLyout:v1.3' 依賴到我們的項目中 點擊同步,依賴完成,然后我們創(chuàng)建簡單的布局和 fragment,就可以三行代碼實現(xiàn)通過 TabLayout 和 ViewPager 實現(xiàn) tab 滑動選項了~! 總結(jié) 以上就是對 TabLayot 和 ViewPager 的一些簡單封裝以及如何制作一個自己的開源庫,本身技術(shù)點并不難,只是涉及封裝和制作開源庫,對于新手還是能得到點干貨的。 項目GitHub地址 https://github.com/ithuangqing/ItHqSimpleTabLyout 由于本人目前在校,入門安卓不久,技術(shù)水平有限,如果這篇文章能幫到你,我很高興,如果我說的有錯誤之處,還請大神賜教,謝謝! 與之相關(guān) |
|
來自: codingSmart > 《待分類》