日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ViewPage+Fragment的使用例子

發(fā)布時間:2025/6/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ViewPage+Fragment的使用例子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2013年9月6日Fragment學(xué)習(xí)

Fragment這個東西,我到現(xiàn)在才接觸到,之前沒有用到過,關(guān)于Fragment這個東西在官方文檔已經(jīng)介紹了非常清楚了,我還特地轉(zhuǎn)載了官方API的中文翻譯,在這我就不浪費(fèi)口舌了。簡單來說,Fragment就是為滿足大屏幕的而誕生的,手機(jī)屏幕小而平板屏幕就大了,屏幕一大就會產(chǎn)生更多的交互,這是很容易想到的,那么單純的Activity就不能滿足我們的需求了。

今天這個例子是自己做的一個小Demo,簡單使用了Fragment,是跟ViewPage結(jié)合一起使用的。我想實(shí)現(xiàn)的效果是,左右滑動可以從一個Fragment到另一個Fragment的過渡。

看看效果圖:


可以看到,兩個fragment都可有控件的點(diǎn)擊事件,如果是兩個Activity我不知道怎么實(shí)現(xiàn),可能會稍微麻煩一點(diǎn)。


簡單的ViewPage布局:

/2013.09.05_ViewPage_Fragment_Demo/res/layout/activity_main.xml

[html]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:layout_width="match_parent"??
  • ????android:layout_height="match_parent"?>??
  • ????<android.support.v4.view.ViewPager??
  • ????????android:id="@+id/viewpager"??
  • ????????android:layout_width="wrap_content"??
  • ????????android:layout_height="wrap_content"??
  • ????????android:flipInterval="30"??
  • ????????android:persistentDrawingCache="animation"?/>??
  • </RelativeLayout>??

  • /2013.09.05_ViewPage_Fragment_Demo/res/layout/viewpager1.xml

    [html]?view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:layout_width="fill_parent"??
  • ????android:layout_height="fill_parent"??
  • ????android:background="@drawable/guide_1"?>??
  • ??
  • ????<Button??
  • ????????android:id="@+id/btn"??
  • ????????android:layout_width="wrap_content"??
  • ????????android:layout_height="wrap_content"??
  • ????????android:layout_alignParentBottom="true"??
  • ????????android:layout_centerHorizontal="true"??
  • ????????android:layout_marginBottom="54dp"??
  • ????????android:background="@drawable/butten"??
  • ????????/>??
  • ??
  • </RelativeLayout>??

  • /2013.09.05_ViewPage_Fragment_Demo/res/layout/viewpager2.xml

    [html]?view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:layout_width="fill_parent"??
  • ????android:layout_height="fill_parent"??
  • ????android:background="@drawable/guide_2"?>??
  • ??
  • ????<Button??
  • ????????android:id="@+id/btn"??
  • ????????android:layout_width="wrap_content"??
  • ????????android:layout_height="wrap_content"??
  • ????????android:layout_alignParentBottom="true"??
  • ????????android:layout_centerHorizontal="true"??
  • ????????android:layout_marginBottom="54dp"??
  • ????????android:background="@drawable/butten"?/>??
  • ??
  • </RelativeLayout>??


  • 再來一個適配器:

    /2013.09.05_ViewPage_Fragment_Demo/src/com/wwj/vf/adapter/FragAdapter.java

    [java]?view plaincopy
  • package?com.wwj.vf.adapter;??
  • ??
  • import?java.util.List;??
  • ??
  • import?android.support.v4.app.Fragment;??
  • import?android.support.v4.app.FragmentManager;??
  • import?android.support.v4.app.FragmentPagerAdapter;??
  • /**?
  • ?*?FragmentPager適配器?
  • ?*?@author?wwj?
  • ?*?
  • ?*/??
  • public?class?FragAdapter?extends?FragmentPagerAdapter{??
  • ??????
  • ????private?List<Fragment>?fragments;??
  • ??????
  • ??
  • ????public?FragAdapter(FragmentManager?fm)?{??
  • ????????super(fm);??
  • ????}??
  • ??????
  • ????public?FragAdapter(FragmentManager?fm,?List<Fragment>?fragments)?{??
  • ????????super(fm);??
  • ????????this.fragments?=?fragments;??
  • ????}??
  • ??
  • ????@Override??
  • ????public?Fragment?getItem(int?position)?{??
  • ????????return?fragments.get(position);??
  • ????}??
  • ??
  • ????@Override??
  • ????public?int?getCount()?{??
  • ????????return?fragments.size();??
  • ????}??
  • }??


  • 兩個自定義的Fragment

    這里很簡單,一張背景+一個按鈕

    /2013.09.05_ViewPage_Fragment_Demo/src/com/wwj/vf/ui/MyFragment1.java

    [java]?view plaincopy
  • package?com.wwj.vf.ui;??
  • ??
  • import?com.wwj.vf.R;??
  • ??
  • import?android.os.Bundle;??
  • import?android.support.v4.app.Fragment;??
  • import?android.view.LayoutInflater;??
  • import?android.view.View;??
  • import?android.view.View.OnClickListener;??
  • import?android.view.ViewGroup;??
  • import?android.widget.Button;??
  • import?android.widget.Toast;??
  • /**?
  • ?*?第一個Fragment?
  • ?*??
  • ?*?@author?wwj?
  • ?*?
  • ?*/??
  • public?class?MyFragment1?extends?Fragment?{??
  • ????private?Button?btn;??
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ??????????
  • ????}??
  • ??????
  • ??????
  • ????@Override??
  • ????public?View?onCreateView(LayoutInflater?inflater,?ViewGroup?container,??
  • ????????????Bundle?savedInstanceState)?{??
  • ????????View?view?=?inflater.inflate(R.layout.viewpager1,?container,?false);??
  • ????????btn?=?(Button)?view.findViewById(R.id.btn);??
  • ????????btn.setOnClickListener(new?OnClickListener()?{??
  • ??????????????
  • ????????????@Override??
  • ????????????public?void?onClick(View?v)?{??
  • ????????????????Toast.makeText(getActivity(),?"你點(diǎn)我啦,好壞!!!",?Toast.LENGTH_LONG).show();??
  • ????????????}??
  • ????????});??
  • ????????return?view;??
  • ????}??
  • ??????
  • ????@Override??
  • ????public?void?onActivityCreated(Bundle?savedInstanceState)?{??
  • ????????super.onActivityCreated(savedInstanceState);??
  • ????}??
  • ??????
  • ????@Override??
  • ????public?void?onPause()?{??
  • ????????super.onPause();??
  • ????}??
  • ??????
  • }??

  • /2013.09.05_ViewPage_Fragment_Demo/src/com/wwj/vf/ui/MyFragment2.java

    [java]?view plaincopy
  • package?com.wwj.vf.ui;??
  • ??
  • import?android.os.Bundle;??
  • import?android.support.v4.app.Fragment;??
  • import?android.view.LayoutInflater;??
  • import?android.view.View;??
  • import?android.view.View.OnClickListener;??
  • import?android.view.ViewGroup;??
  • import?android.widget.Button;??
  • import?android.widget.Toast;??
  • ??
  • import?com.wwj.vf.R;??
  • /**?
  • ?*?第2個Fragment?
  • ?*??
  • ?*?@author?wwj?
  • ?*?
  • ?*/??
  • public?class?MyFragment2?extends?Fragment?{??
  • ??????
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????}??
  • ??????
  • ??????
  • ????@Override??
  • ????public?View?onCreateView(LayoutInflater?inflater,?ViewGroup?container,??
  • ????????????Bundle?savedInstanceState)?{??
  • ????????View?view?=?inflater.inflate(R.layout.viewpager2,?container,?false);??
  • ????????view.findViewById(R.id.btn).setOnClickListener(new?OnClickListener()?{??
  • ??????????????
  • ????????????@Override??
  • ????????????public?void?onClick(View?v)?{??
  • ????????????????Toast.makeText(getActivity(),?"這個Fragment2哦,要注意了!!",?Toast.LENGTH_SHORT).show();??
  • ????????????}??
  • ????????});??
  • ????????return?view;??
  • ????}??
  • ??????
  • ????@Override??
  • ????public?void?onActivityCreated(Bundle?savedInstanceState)?{??
  • ????????super.onActivityCreated(savedInstanceState);??
  • ????}??
  • ??????
  • ????@Override??
  • ????public?void?onPause()?{??
  • ????????super.onPause();??
  • ????}??
  • ??????
  • }??

  • 好啦,在Activity里添加兩個Fragment

    [java]?view plaincopy
  • package?com.wwj.vf;??
  • ??
  • import?java.util.ArrayList;??
  • import?java.util.List;??
  • ??
  • import?android.os.Bundle;??
  • import?android.support.v4.app.Fragment;??
  • import?android.support.v4.app.FragmentActivity;??
  • import?android.support.v4.view.ViewPager;??
  • ??
  • import?com.wwj.vf.adapter.FragAdapter;??
  • import?com.wwj.vf.ui.MyFragment1;??
  • import?com.wwj.vf.ui.MyFragment2;??
  • /**?
  • ?*?主Activity,包含兩個fragment?
  • ?*??
  • ?*?@author?wwj?
  • ?*?
  • ?*/??
  • public?class?MainActivity?extends?FragmentActivity?{??
  • ??????
  • ????private?ViewPager?vp;??
  • ????private?FragAdapter?adapter;??
  • ????@Override??
  • ????protected?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.activity_main);??
  • ????????vp?=?(ViewPager)?findViewById(R.id.viewpager);??
  • ??????????
  • ????????List<Fragment>?fragments?=?new?ArrayList<Fragment>();??
  • ????????fragments.add(new?MyFragment1());??
  • ????????fragments.add(new?MyFragment2());??
  • ??????????
  • ????????adapter?=?new?FragAdapter(getSupportFragmentManager(),?fragments);??
  • ????????vp.setAdapter(adapter);??
  • ????????vp.setCurrentItem(0);??
  • ????}??
  • ??
  • }??


  • 簡單的ViewPage和Fragment的搭配使用就這樣了

    《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的ViewPage+Fragment的使用例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 超碰免费公开 | 男人天堂a | 国产精品免费视频观看 | 激情深爱五月 | 激情国产一区 | 国产一区二区三区免费观看视频 | 中文字幕一区二区在线老色批影视 | 狠狠躁夜夜 | www一级片 | 日韩无套无码精品 | 办公室摸腿吻胸激情视频 | 国产a√| 亚洲天堂色 | 日韩欧美福利视频 | 一区二区三区韩国 | 九九热在线观看 | 日韩啪啪网站 | jk美女又爽又黄视频 | 91在线精品播放 | 东京干手机福利视频 | 亚洲精品久久夜色撩人男男小说 | 国产露脸国语对白在线 | 麻豆成人网 | 国产精品乱码一区二区 | 日本一区二区三区免费在线观看 | 一区国产视频 | 中国黄色小视频 | 欧美 日韩 人妻 高清 中文 | 欧美xxxbbb | 国产成人精品女人久久久 | 免费看女生裸体视频 | 内射中出日韩无国产剧情 | 91污网站 | 香蕉久久国产av一区二区 | 久久er99热精品一区二区 | 欧美成一区二区三区 | 欧美情侣性视频 | 亚洲色图偷 | 欧美日韩专区 | 日韩欧美在线观看视频 | 国产一级片免费在线观看 | 久久影视| 欧美少妇18p | 四色成人 | 色爽影院| 日韩91| 特级大胆西西4444人体 | 国产在线一级片 | 欧美成人黄色网 | 免费成人在线观看视频 | 偷拍网亚洲 | 黄色一级播放 | 一道本一区二区 | av尤物| 一区二区日韩视频 | 国产又粗又猛又爽又黄无遮挡 | 欧美女人交配视频 | 日韩中文字幕影院 | 欧美亚洲日本 | 国产黄视频网站 | 麻豆亚洲av成人无码久久精品 | 自拍偷拍福利 | 69社| 自拍偷拍亚洲视频 | 欧美伊人 | 欧美一区二区三区在线看 | 97超碰97| 国产午夜一级一片免费播放 | 国产精品久久久久久亚洲 | 尤物精品在线 | 羞视频在线观看 | www.好了av.com | 超碰在线最新地址 | 日本精品三级 | 亚洲精品.www | 人妻激情文学 | 黄色在线a | 欧美久久久久 | 手机在线精品视频 | 亚洲国产视频网站 | 精品日韩欧美 | 成人黄色免费网址 | 精品成人免费一区二区在线播放 | 天堂在线视频网站 | 五个女闺蜜把我玩到尿失禁 | 国产黄色免费观看 | 男人懂的网站 | 内射国产内射夫妻免费频道 | 免费的av片 | 色婷婷久久久 | 欧美乱论 | 成人精品亚洲 | 免费在线观看成人av | 亚洲天堂中文字幕在线 | 爱爱网视频 | 一本久久a精品一合区久久久 | 91美女片黄在线观看 | gay男互凵gay男同偷精 |