Android使用ViewPager實(shí)現(xiàn)頂部tabbar切換界面
Android使用ViewPager實(shí)現(xiàn)頂部tabbar切換界面,類似的功能可以看看:
使用RadioGroup實(shí)現(xiàn)底部導(dǎo)航欄
進(jìn)入正題
效果圖:
注:PagerSlidingTabStrip為自定義控件,用于切換界面,此處不便貼出代碼
1.主界面xml布局中添加ViewPager控件:
<android.support.v4.view.ViewPager android:id="@+id/pager_view" android:layout_width="match_parent" android:layout_height="match_parent" />
2.主界面的activity代碼:
FrOrderList和FrFoodList分別為內(nèi)部的fragment頁(yè)面
String[] tabs = {"堅(jiān)果", "肉脯", "果凍"}; private MyPagerAdpater adpater; //為ViewPager添加Adpater adpater = new MyPagerAdpater(getSupportFragmentManager()); pagerView.setOffscreenPageLimit(4); pagerView.setAdapter(adpater); class MyPagerAdpater extends FragmentPagerAdapter { public MyPagerAdpater(FragmentManager manager) { super(manager); } @Override public Fragment getItem(int position) { switch (position){ case 0: return FrOrderList.newInstance( 0); case 1: return FrFoodList.newInstance( 1); case 2: return FrOrderList.newInstance( 2); } return null; } @Override public CharSequence getPageTitle(int position) { return tabs[position]; } @Override public int getCount() { return tabs.length; } }
3.內(nèi)部fragment頁(yè)面:
其布局只是為了純顯示,所以只添加了一個(gè)textview
<TextView android:id="@+id/tv_content" android:gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:textSize="32sp" android:textColor="#63B8FF" android:text="999"/>
activity代碼:
整個(gè)流程為:
public static FrFoodList newInstance(int mState) –》public void onCreate(@Nullable Bundle savedInstanceState) –》public View onCreateView –》public void initView() public class FrFoodList extends Fragment { TextView tvContent; private static String DATAKEY = "STATE"; private int mState = 0; public static FrFoodList newInstance(int mState) { FrFoodList frFoodList = new FrFoodList(); Bundle bundle = new Bundle(); bundle.putInt( DATAKEY, mState); frFoodList.setArguments(bundle); return frFoodList; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mState = getArguments().getInt( DATAKEY); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_food_list, null); tvContent = (TextView) view.findViewById(R.id.tv_content); initView(); return view; } public void initView(){ switch ( mState ){ case 0: tvContent.setText( "一大波堅(jiān)果即將來(lái)襲~~~" ); break; case 1: tvContent.setText( "好吃又香,美味抵擋不住(^_^)" ); break; case 2: tvContent.setText( "浪漫氣息,粉嫩可愛(ài)(*_*)" ); break; } } }
FrOrderList的寫法和這個(gè)類似。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)界面左右滑動(dòng)切換功能
- Android輸入法與表情面板切換時(shí)的界面抖動(dòng)問(wèn)題解決方法
- Android實(shí)現(xiàn)閃屏及注冊(cè)和登錄界面之間的切換效果
- PagerSlidingTabStrip制作Android帶標(biāo)簽的多界面滑動(dòng)切換
- Android App仿微信界面切換時(shí)Tab圖標(biāo)變色效果的制作方法
- Android應(yīng)用中使用ViewPager實(shí)現(xiàn)類似QQ的界面切換效果
- android編程實(shí)現(xiàn)局部界面動(dòng)態(tài)切換的方法
- Android界面切換出現(xiàn)短暫黑屏的解決方法
- Android實(shí)現(xiàn)Activity界面切換添加動(dòng)畫特效的方法
- Android studio實(shí)現(xiàn)兩個(gè)界面間的切換
相關(guān)文章
Android ViewPager2 使用及自定義指示器視圖實(shí)現(xiàn)
這篇文章主要為大家介紹了Android ViewPager2 使用及自定義指示器視圖實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Jetpack?Compose?實(shí)現(xiàn)一個(gè)圖片選擇框架功能
這篇文章主要介紹了Jetpack?Compose?實(shí)現(xiàn)一個(gè)圖片選擇框架,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06Android使用AudioManager修改系統(tǒng)音量的方法
這篇文章主要介紹了Android使用AudioManager修改系統(tǒng)音量的方法,結(jié)合實(shí)例形式分析了AudioManager調(diào)節(jié)音量的常用方法及相關(guān)使用技巧,需要的朋友可以參考下2016-08-08android 引導(dǎo)界面的實(shí)現(xiàn)方法
現(xiàn)在越來(lái)越多程序都有引導(dǎo)頁(yè)面了。網(wǎng)上資料不全。現(xiàn)在自己實(shí)現(xiàn)下。2013-06-06Android編程設(shè)計(jì)模式之狀態(tài)模式詳解
這篇文章主要介紹了Android編程設(shè)計(jì)模式之狀態(tài)模式,結(jié)合實(shí)例形式詳細(xì)分析了Android狀態(tài)模式的概念、功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-12-12SwipeRefreshLayout+RecyclerView實(shí)現(xiàn)上拉刷新和下拉刷新功能
這篇文章主要介紹了SwipeRefreshLayout+RecyclerView實(shí)現(xiàn)上拉刷新和下拉刷新功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01