亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • ViewPageIndicator+ViewPager+FragmentPagerAdapter實現Tab 4.初始化變量initView() mViewPager = (ViewPager) findViewById(R.id.id_indicatorvp); mTabPageIndicator = (TabPageIndicator) findViewById(R.id.id_vpindicator); //4個Fragment組成數據源 mFragments = new ArrayList<Fragment>(); Fragment coFragment = new CourseFragment(); Fragment qaFragment = new QaFragment(); ... mFragments.add(coFragment); ... //使用匿名的Adapter mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { public Fragment getItem(int position) { return mFragments.get(position); } public int getCount() { return mFragments.size(); } public CharSequence getPageTitle(int position) { return TITLES[position];} }; mViewPager.setAdapter(mAdapter); mTabPageIndicator.setViewPager(mViewPager, 0); 5.TabPageIndicator的Style 這里直接抄老師的代碼,有些屬性我自己改了一下試試。 AppBaseTheme找不到? <style name="MyTheme" parent="AppTheme"> 6.擴展 例子:http://blog.csdn.net/dalancon/article/details/41696373 github:https://github.com/xzhang76/TabApp
    查看全部
  • ViewPageIndicator+ViewPager+FragmentPagerAdapter實現Tab 1.思路 內容區域使用ViewPager,其適配器使用FragmentPagerAdapter,但是為ViewPager添加一個TabPageIndicator,這是一個第三方的開源項目 2.集成TabPageIndicator (1)Andorid Studio(印象筆記) 1)下載源代碼,作為Module導入,只導入library目錄下的 這里會自動build,出現“Error:Cause: failed to find target with hash string 'android-16' in: Android\sdk”的錯誤,這是因為SDK版本的不兼容問題,改寫library的build.gradle,使用當前正在使用的sdk版本號。 3)添加dependency 這里可能也會出現API不兼容的問題,降低一點SDK版本 (2)eclipse 1)導入Eclipse工程 2)配置TabApp的properties 3)Android->Add...(library),將ViewPagerLibrary庫加上 3.布局 <include layout="@layout/top_indicator" /> <com.viewpagerindicator.TabPageIndicator android:id="@+id/id_vpindicator" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@android:color/transparent" > </com.viewpagerindicator.TabPageIndicator> <android.support.v4.view.ViewPager android:id="@+id/id_indicatorvp" android:layout_width="fill_parent" android:layout_height="fill_parent"> </android.support.v4.view.ViewPager>
    查看全部
  • ViewPager和FragmentPagerAdapter實現Tab 1.思路 中間內容區域還是使用ViewPager,但是適配器不再是PagerAdapter,而是FragmentPagerAdapter,這個Adapter中的數據源當然不再是List<View>,而是List<Fragment> 2.布局 <include layout="@layout/top" /> <android.support.v4.view.ViewPager android:id="@+id/id_fragmentpager" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1"> </android.support.v4.view.ViewPager> <include layout="@layout/bottom" /> 3.創建和初始化變量initView() (1)數據源List<Fragment> mFragments mFragments.add(wxFragment); mFragments.add(frFragment); ... (2)ViewPager適配器FragmentPagerAdapter mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { public Fragment getItem(int position) { return mFragments.get(position); } public int getCount() { return mFragments.size(); } }; 4.底部布局點擊事件以及ViewPager切換事件 和單純使用ViewPager實現思路一樣 5.小結 ViewPager+FragmentPagerAdapter結合前兩中實現方式的優點,不同的page使用Fragment來管理自己的區域,同時還可以自由切換不同的page
    查看全部
  • Fragment實現Tab 4.setSelect()實現 private void setSelect(int tab) { FragmentManager fm = getFragmentManager(); FragmentTransaction transaction = fm.beginTransaction(); //隱藏所有的Fragment hiddenFragment(transaction); switch (tab){ case WEIXINTAB: if (wxFragment == null){ wxFragment = new WeixinFragment(); transaction.add(R.id.id_framelayout, wxFragment); }else { transaction.show(wxFragment); } mWeixinImgBt.setImageResource(R.mipmap.tab_weixin_pressed); break; 不要想通過將FragmentManager和FragmentTransaction兩個變量設置為全局的 關于Fragment動態加載,看筆記: http://www.xianlaiwan.cn/course/note/id/107?ower=my&sort=last&page=2 5.在onCreate()中需要顯示調用setSelect()來顯示第一個WeixinFragment 6.Fragment較之ViewPager 每個界面對應一個自定義Fragment,它本身就可以管理自己的控件,比如ListView拖動、按鍵點擊。這樣對這些控件的處理可以放在自定義的Fragment類中。
    查看全部
    0 采集 收起 來源:Fragment實現Tab

    2018-03-22

  • Fragment實現Tab 1.思路 和ViewPager實現Tab相比,中間內容區域是一個FrameLayout,這個FrameLayout由四個Fragment組成;通過點擊底部的LinearLayout來切換不同的Fragment。 2.布局 <include layout="@layout/top" /> <FrameLayout android:id="@+id/id_framelayout" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1"> </FrameLayout> <include layout="@layout/bottom" /> 2.創建和初始化變量 (1)自定義4個Fragment,繼承自Fragment,onCreateView() public View onCreateView(LayoutInflater inflater, ViewGroup container) { return inflater.inflate(R.layout.tabaddress, container, false); } (2)其他的組件初始化都和ViewPager部分一樣 3.底部LinearLayout設置點擊事件 (1)重置所有的圖片為暗色 (2)通過FragmentManager和FragmentTransaction事件來隱藏和顯示各個Fragment 但是有一點需要注意,因為每次處理Fragment的顯示都要通過FragmentTransaction.commit()一次,所以每次點擊事件的響應都需要重新創建FragmentManager,這就需要單獨寫一個函數來處理fragment的顯示 public void onClick(View v) { //重置所有的圖片為暗色 resetImages(); switch (v.getId()){ case R.id.id_tab_weixin: setSelect(WEIXINTAB); break;
    查看全部
    0 采集 收起 來源:Fragment實現Tab

    2018-03-22

  • 如果不需要劃動效果用Fragment性能更好
    查看全部
  • ViewPager實現Tab 3.為四個底部LinearLayout設置點擊事件,當點擊到對應tab時,需要做3件事 public void onClick(View v) { //首先重置所有的圖片為暗色 resetImages(); switch (v.getId()){ case R.id.id_tab_weixin: mViewPager.setCurrentItem(0); mWeixinImgBt.setImageResource(R.mipmap.tab_weixin_pressed); break; case R.id.id_tab_friend: case R.id.id_tab_address: case R.id.id_tab_settings: } } 4.為ViewPager添加滑動變化的監聽事件,為了滑動到對應tab時,對應的ImageButton也會對應變亮 mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { public void onPageSelected(int position) { int currentItem = mViewPager.getCurrentItem(); resetImages(); switch (currentItem){ case WEIXINTAB: mWeixinImgBt.setImageResource(R.mipmap.tab_weixin_pressed); break; ... } 6.有個問題:當點擊ImageButton的時候沒有事件響應,這是因為ImageButton本身就點擊事件,雖然為LinearLayout設置了點擊事件。 解決:將ImageButton的clickable屬性設置為false
    查看全部
  • ViewPager實現Tab 1.布局 由top,bottom,ViewPager三部分組成,注意: (1)規則排列的布局,使用LinearLayout (2)gravity和layout_gravity (3)如果一部分布局想獨占剩余空間,可以 <include layout="@layout/top" /> <android.support.v4.view.ViewPager android:id="@+id/id_viewpager" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1"> </android.support.v4.view.ViewPager> <include layout="@layout/bottom" /> 2.創建和初始化變量initView() (1)四個底部的LinearLayout,并且要處理點擊事件 (2)四個底部的ImageButton,不需要響應點擊事件,但需要有明暗的變化 (3)ViewPager,以及它需要的PagerAdapter PagerAdapter需要重寫四個方法,方法中使用的變量都是mViews中的(略) getCount(),isViewFromObject(),instantiateItem(),destroyItem() (4)一個List<View>,用來添加四個View,然后設置給ViewPager顯示 四個View是通過Inflater從layout轉過來的 3.為四個底部LinearLayout設置點擊事件,當點擊到對應tab時,需要做3件事 (1)先將所有的ImageButton顏色都設置為暗色 (2)ViewPager切換到對應的View (3)ImageButton的圖片切換成亮色 4.為ViewPager添加滑動變化的監聽事件,為了滑動到對應tab時,對應的ImageButton也會對應變亮 這就需要重寫ViewPager.OnPageChangeListener的onPageSeleted()方法,從當前的item獲取當前的位置 5.下一筆記將代碼簡單貼上
    查看全部
  • viewstub
    查看全部
    0 采集 收起 來源:Fragment實現Tab

    2016-01-31

  • include merge
    查看全部
    0 采集 收起 來源:Fragment實現Tab

    2016-01-31

  • 加載View布局 LayoutInflater mInflater=LayoutInflater.from(this); View tab=mInflater.inflate(R.layout.xxx,null) ViewPager的適配器: --------------------------------- instantiateItem(xxxx){ View view=mViews.get(position) container.add(view) return view; } ----------------------------- destroyItem(){ container.RemoveView(mViews.get(position)) } ----------------------------- isViewFromObject() { return arg0=arg1; }
    查看全部
  • 首頁切換效果
    查看全部
    0 采集 收起 來源:Fragment實現Tab

    2016-01-27

  • 聯動?;瑒禹撁嬉淖兊撞堪粹o的狀態,內部類實現
    查看全部
  • 設置imageButton的背景和ViewPager的內容--Fragment
    查看全部
  • viewPager+Fragment 不要到V4下的包
    查看全部

舉報

0/150
提交
取消
課程須知
本課程需要大家掌握基本的Android和Java基礎知識: 1、熟練使用Java語言 2、熟悉Android常用API,熟練使用Eclipse IDE
老師告訴你能學到什么?
通過本課程,你將學到: 1、ViewPager實現Tab 2、Fragment實現Tab 3、ViewPager+FragmentPagerAdapter實現Tab 4、ViewPagerIndicator+ViewPager實現Tab

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!