第三方開源庫征服複雜的viewpager+fragment佈局(超經典)
最近正好有這個需求,於是整理了這個文件,希望對大家有所幫助:
這裡有三個步驟即可完成非常簡單,大家可以儲存:
一:匯入開源庫
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
特簡單吧!
二:建立三個碎片
這個就不用我教大家了吧,直接右鍵建立三個Fragment就可以了。
三:xml佈局:這裡是很關鍵的地方當然也很簡單(咱們使用PagerSlidingStrip第三方開源):
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.LinearLayoutCompatxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.administrator.life.MainActivity"> <com.astuetz.PagerSlidingTabStripandroid:id="@+id/tabstrip" android:layout_width="match_parent" android:layout_height="48dp"> </com.astuetz.PagerSlidingTabStrip> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/tabstrip"></android.support.v4.view.ViewPager> </android.support.v7.widget.LinearLayoutCompat>
四:給viewpager新增介面卡,給PagerSlidingTabStrip設定屬性
public class MainActivity extends AppCompatActivity implements View.OnClickListener { //定義相關變數 private ViewPager vPager; private ArrayList<Fragment> mFragments; private Fragment mFragment1,mFragment2,mFragment3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mFragments=new ArrayList<Fragment>(); vPager = (ViewPager) findViewById(R.id.viewpager); mFragment1=new RecommendFragment(); mFragment2=new FruitFragment(); mFragment3=new MeatFragment(); mFragments.add(mFragment1); mFragments.add(mFragment2); mFragments.add(mFragment3); vPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public CharSequence getPageTitle(int position) { return "Title " + (position + 1); } @Override public Fragment getItem(int position) { return mFragments.get(position); } @Override public int getCount() { return 3; } }); //獲取PagerSlidingTabStrip控制元件物件 PagerSlidingTabStrip strip = (PagerSlidingTabStrip) findViewById(R.id.tabstrip); strip.setShouldExpand(true);//設定標籤自動擴充套件——當標籤們的總寬度不夠螢幕寬度時,自動擴充套件使每個標籤寬度遞增匹配螢幕寬度,注意!這一條程式碼必須在setViewPager前方可生效 strip.setViewPager(vPager); //這是其所handle的ViewPager strip.setDividerColor(Color.TRANSPARENT); //設定每個標籤之間的間隔線顏色 ->透明 strip.setUnderlineHeight(3); //設定標籤欄下邊的間隔線高度,單位畫素 strip.setIndicatorHeight(6); //設定Indicator 遊標 高度,單位畫素 } @Override public void onClick(View view) { } }
最後:對,就是這麼簡單。
相關推薦
第三方開源庫征服複雜的viewpager+fragment佈局(超經典)
最近正好有這個需求,於是整理了這個文件,希望對大家有所幫助: 這裡有三個步驟即可完成非常簡單,大家可以儲存: 一:匯入開源庫 compile 'com.astuetz:pagerslidingtabstrip:1.0.1' 特簡單吧! 二:建立三個碎片 這個就不
第三方開源庫:日期時間選擇器(TimePickerDialog)+ 省市區三級聯動(CityPicker) + 一級滾動
TimePickerDialog Android時間選擇器,支援年月日時分,年月日,年月,月日時分,時分格式,可以設定最小時間和最大時間(精確到分)。 效果圖 gradle compile 'com.jzxiang.pickervie
基於第三方開源庫的OPC伺服器開發指南(4)——後記:與另一個開源庫opc workshop庫相關的問題
平心而論,我們從樣例伺服器的程式碼可以看出利用LightOPC庫開發OPC伺服器還是比較囉嗦的,網上有人提出opc workshop庫就簡單很多,我千辛萬苦終於找到一個05年版本的workshop庫原始碼,忘了出處是在哪裡了,依稀記得是Codeforge網站。相較於LightOPC,用這個庫開發OPC伺服器確
AndroidStudio匯入第三方開源庫
AndroidStudio還是0.8的版本的時候下載下來看了一下,都推出三年左右的工具了,我竟然沒有用過,昨天打算好好研究一下以便以後轉向AS,畢竟google出的這麼好的IDE,不用都對不起自己。不過真心很好用,尤其黑色的主題風格很舒服,但對於一直使用eclipse的我還是有點不習慣,主要是導包的
關於目前自己iOS專案使用的第三方開源庫
1.AFNetworking 目前比較推薦的iOS網路請求元件,預設網路請求是非同步,通過block回撥的方式對返回資料進行處理。 2.FMDB 對sqlite資料庫操作進行了封裝,demo也比較簡單。 3.MBProgressHUD
安卓第三方開源庫
學即時通訊去這裡外部開源庫地址完整的即時通訊解決方案webAPP必備推送IM特別推薦android IM 聊天(文字、表情、語音) 服務端 客戶端齊全 主要技術如下 Spring, hibernate,memcache,Netty,protobuf,FastDFS,GreenDaoMobileIMSDK 跨平
Android如何快速尋找第三方開源庫在Jcenter上的最新版本
首先看一下問題: 問個問題 比如我想找最新的okhhtp compile的最新那句話 compile ‘com.squareup.okhttp:okhttp:2.4.0’ 2.4.0明顯不是最新的 應該怎麼找? 解決方法 先了解compile ‘com.squareup.okhttp:
第三方開源庫:Dialog相關:DialogPlus + SweetAlertDialog +Alerter
DialogPlus 效果圖: github原圖: demo效果圖: 簡介 總有3個Holder:ViewHolder、ListHolder、GridHolder,其中ViewHolder是用於自定義檢視,ListHolde
Android-版本6.0許可權申請第三方開源庫
AndPermission AndroidStudio使用方法,gradle一句話遠端依賴compile 'com.yanzhenjie:permission:1.0.5'11 Or Maven: <dependency> <groupId>
Android-版本6.0許可權申請AndPermission第三方開源庫
AndPermission AndroidStudio使用方法,gradle一句話遠端依賴compile 'com.yanzhenjie:permission:1.0.5'11 Or Maven: <dependency> <groupId>
Android第三方開源庫:PopupWindow相關
MultiSelectPopWindow 效果圖 gradle allprojects { repositories { jcenter()
第三方開源庫:Toast工具:Toasty
效果圖: 配置 Project的build.gradle repositories { maven { url "https://jitpack.io" }
Android 第三方開源庫收集整理(轉)
Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發者,而且我會 不定期的更新 這篇文章。 Android下的優秀開發庫數不勝數,在本文中,我列舉
Android之史上最全最簡單最有用的第三方開源庫收集整理
Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發者,而且我會 不定期的更新 這篇文章。 Android下的優秀開發庫數不勝數,在本文中,我列舉的多是
【開源框架】Android之史上最全最簡單最有用的第三方開源庫收集整理,有助於快速開發,歡迎各位網友補充完善
Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫,推薦給在苦苦尋找的開發者,而且我會 不定期的更新 這篇文章。 Android下的優秀
第三方開源庫:資料庫:GreenDao
簡介 GreenDao是一個用於Android開發的物件/關係對映(ORM)工具。它向SQLite資料庫提供了一個物件導向的介面。主要是將物件對映到SQLite資料庫中,GreenDao3.0是greendao的一個新的版本。 真機中沒看到資料庫檔案
Android5.1.+ getRunningAppProcesses()獲取執行中程序(第三方開源庫)
google可能為了安全考慮,在5.1.+後呼叫activitymanager.getRunningAppProcesses()方法只能返回你自己應用的程序,那如何在5.1.+後獲取執行中程序呢?一個大神stackoverflow給出了答案(點選跳轉)。如果你能熟練的匯入第
[轉]【開源框架】Android之史上最全最簡單最有用的第三方開源庫收集整理,有助於快速開發
原文地址:http://www.tuicool.com/articles/jyA3MrU Android開源庫 自己一直很喜歡Android開發,就如部落格簽名一樣, 我是程式猿,我為自己代言 。 在摸索過程中,GitHub上搜集了很多很棒的Android第三方庫
【安卓筆記】ViewPager+Fragment佈局中的Fragment資料更新
這裡可能是GC回收掉了代表選項卡1的Fragment1物件,這時當我們滑會第一個介面時,重新建立了Fragment。這顯然不是我們期望的效果。 下面說下我的解決方案: 介面卡中應該提供一個設定介面卡資料的方法,這個方法可以向介面卡填充新的資料,並remove掉舊的資料。 按照這個思路,我們重構下M
Android第三方開源庫:圖片壓縮
CompressHelper 原圖: 許可權: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permissi