今天講的是ViewPager 這個東西就是
假設你寫了Fragment和Fragment1兩個界面,用這個控件就可以實現兩個界面之間的滑動,而不用Intent去跳轉;
注意: 在布局中定義控件的時候,
我們寫的是系統自帶的,我們寫<ViewPager就好,等生成的時候選這個路徑就行。
這個應該能看懂吧
我們在java里創建了個ui
ui里面有三個java類,用來裝三個碎片視圖的
碎片視圖怎么寫?前面的學習就曉得了,不過我們現在是寫一個很簡單的Fragment,就一個方法,一句話(不簡單,你打我(不打臉就行))
三個視圖都一樣的結構,然后給它們把R.layout.fragment_mine,這種布局給創建,然后寫上自己的布局。
最后主活動連接ViewPager:
其實可以自己寫個適配器的,但是如果嫌麻煩就寫個匿名適配器吧
這句話:
pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager())
它就是創建一個適配器,然后是根據碎片分頁適配器創建的,我們給這個適配器的參數給個碎片管理器給它
然后實現的方法,一個獲得當前列表內容,一個獲得列表個數。
我們寫個碎片數組,是為了跳轉數組,從而實現頁面之間的滑動跳轉。
寫到這就可以滑動了
抱歉哈,因為我不知道上傳錄屏,就用圖片表示,應該還算明顯。
那個(首頁,消息,我的)的按鈕就是在主活動的布局里寫的一些控件。
高級一點的就是用下面這些來監聽,然后讓他們控制下碎片的跳轉。
因為准備工作已經做好,就直接在主方法里連接單選框,然后控制監聽。
其實如果只是讓單選框監聽Fragment視圖的話就用第一個方法就行,
第二個方法就是讓視圖監聽單選框,因為我們的Fragment視圖是可以自己滑動的,如果不同步就亂了。
所以我們滑動的時候也得監聽,讓單選按鈕改變。
然后學長講了一種動態生成按鈕的方法,
自認為難度系數比較高,本牛崽搞半天也就曉得大概的意思,具體實現,多打幾遍再說。
新建個活動,把前面實現ViewPager跳轉的匿名適配器原封不動拿過來,
再創建這個活動的視圖,把我們寫的單選框按鈕都刪了(因為要動態生成嘛);
再創建一個布局,里面就寫一個單選框組。
上面難度系數最高的就是那個迭代器遍歷里面的東西;
這里就是給View打氣(實例化),然后參數就是上下文是當前界面,那個單選框組就填充到那個創建的布局(里面只寫了一個對話框的那個布局),
然后把它放到自己連接好的單選框組里,
接着用一個視圖組接收,因為實例化的時候是視圖,所以要強轉。
接着就是創建單選框按鈕,給它的內容就是那個視圖組里的每一個子視圖(就是我們寫的碎片視圖的當前位置,下標從0開始,所以的-1),
那為啥能拿到碎片視圖,因為我們實例化的時候使用到的上下文是this,大概就能用這些碎片吧();
然后就給它強轉一下變成單選框按鈕,就可以設置單選框按鈕組件的格式了,居中、插入按鈕圖片、改變按鈕文本等
這樣就能動態的開辟你的單選框按鈕了。不過得看着視圖的個數去開辟。
不過我發現好像並沒啥好處,還不能給選框寫監聽。
但是學了就有用吧,沒接觸到,后面學長還會講動態的這種寫法,以后再補全這部分的詳細內容吧。
周末結束啦!!!