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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用DirectionalViewPager代替ViewPager

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用DirectionalViewPager代替ViewPager 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實際應用中,我們直接用DirectionalViewPager代替ViewPager,再設置其滑動方向即可,既可以水平,也可以垂直,一個setOritation直接搞定.

看到了吧,實現上下滑動的效果就這么簡單.在此不得不致敬JakeWharton這位大牛在開源項目上的貢獻,讓我們這些開發者受益頗深..


?

例子中其他部分,我只替換了資源圖片:

TestFragment:


[java] view plaincopyprint?
  • package?com.way.verticalguider;??
  • ??
  • import?com.way.newversion.R;??
  • ??
  • import?android.os.Bundle;??
  • import?android.support.v4.app.Fragment;??
  • import?android.view.LayoutInflater;??
  • import?android.view.View;??// http://www.openeim.com/
  • import?android.view.ViewGroup;??
  • import?android.widget.Button;??
  • import?android.widget.ImageView;??
  • ??
  • public?class?TestFragment?extends?Fragment?{??
  • ????private?static?final?String?KEY_CONTENT?=?"TestFragment:Content";??
  • ????private?static?final?String?KEY_ISLASTPIC?=?"TestFragment:IsLastPic";??
  • ????private?int?mContent;??
  • ????private?boolean?mIsLastPic;??
  • ??
  • ????public?static?TestFragment?newInstance(int?content,?boolean?isLastPic)?{??
  • ????????TestFragment?fragment?=?new?TestFragment();??
  • ??
  • ????????fragment.mContent?=?content;??
  • ????????fragment.mIsLastPic?=?isLastPic;??
  • ????????return?fragment;??
  • ????}??
  • ??
  • ????@Override??
  • ????public?View?onCreateView(LayoutInflater?inflater,?ViewGroup?container,??
  • ????????????Bundle?savedInstanceState)?{??
  • ????????if?((savedInstanceState?!=?null)??
  • ????????????????&&?savedInstanceState.containsKey(KEY_CONTENT))?{??
  • ????????????mContent?=?savedInstanceState.getInt(KEY_CONTENT);??
  • ????????????mIsLastPic?=?savedInstanceState.getBoolean(KEY_ISLASTPIC);??
  • ????????}??
  • ????????View?root?=?inflater??
  • ????????????????.inflate(R.layout.fragment_layout,?container,?false);??
  • ????????ImageView?iv?=?(ImageView)?root.findViewById(R.id.iv);??
  • ????????iv.setImageResource(mContent);??
  • ????????Button?btn?=?(Button)?root.findViewById(R.id.btn);??
  • ????????if?(mIsLastPic)??
  • ????????????btn.setVisibility(View.VISIBLE);??
  • ????????else??
  • ????????????btn.setVisibility(View.GONE);??
  • ????????return?root;??
  • ????}??
  • ??
  • ????@Override??
  • ????public?void?onSaveInstanceState(Bundle?outState)?{??
  • ????????super.onSaveInstanceState(outState);??
  • ????????outState.putInt(KEY_CONTENT,?mContent);??
  • ????????outState.putBoolean(KEY_ISLASTPIC,?mIsLastPic);??
  • ????}??
  • }??
  • package com.way.verticalguider;import com.way.newversion.R;import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView;public class TestFragment extends Fragment {private static final String KEY_CONTENT = "TestFragment:Content";private static final String KEY_ISLASTPIC = "TestFragment:IsLastPic";private int mContent;private boolean mIsLastPic;public static TestFragment newInstance(int content, boolean isLastPic) {TestFragment fragment = new TestFragment();fragment.mContent = content;fragment.mIsLastPic = isLastPic;return fragment;}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {if ((savedInstanceState != null)&& savedInstanceState.containsKey(KEY_CONTENT)) {mContent = savedInstanceState.getInt(KEY_CONTENT);mIsLastPic = savedInstanceState.getBoolean(KEY_ISLASTPIC);}View root = inflater.inflate(R.layout.fragment_layout, container, false);ImageView iv = (ImageView) root.findViewById(R.id.iv);iv.setImageResource(mContent);Button btn = (Button) root.findViewById(R.id.btn);if (mIsLastPic)btn.setVisibility(View.VISIBLE);elsebtn.setVisibility(View.GONE);return root;}@Overridepublic void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putInt(KEY_CONTENT, mContent);outState.putBoolean(KEY_ISLASTPIC, mIsLastPic);} }
    TestFragmentAdapter: [java] view plaincopyprint?
  • package?com.way.verticalguider;??
  • ??
  • import?com.way.newversion.R;??
  • ??
  • import?android.support.v4.app.Fragment;??
  • import?android.support.v4.app.FragmentManager;??
  • import?android.support.v4.app.FragmentPagerAdapter;??
  • ??
  • class?TestFragmentAdapter?extends?FragmentPagerAdapter?{??
  • ????protected?static?final?int[]?CONTENT?=?new?int[]?{??
  • ????????????R.drawable.biz_ad_new_version1_img0,??
  • ????????????R.drawable.biz_ad_new_version1_img1,??
  • ????????????R.drawable.biz_ad_new_version1_img2,??
  • ????????????R.drawable.biz_ad_new_version1_img3?};??
  • ??
  • ????public?TestFragmentAdapter(FragmentManager?fm)?{??
  • ????????super(fm);??
  • ????}??
  • ??
  • ????@Override??
  • ????public?Fragment?getItem(int?position)?{??
  • ????????boolean?isLastPic?=?false;??
  • ????????if?(position?==?CONTENT.length?-?1)??
  • ????????????isLastPic?=?true;??
  • ????????return?TestFragment.newInstance(CONTENT[position],?isLastPic);??
  • ????}??
  • ??
  • ????@Override??
  • ????public?int?getCount()?{??
  • ????????return?CONTENT.length;??
  • ????}??
  • }??
  • package com.way.verticalguider;import com.way.newversion.R;import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter;class TestFragmentAdapter extends FragmentPagerAdapter {protected static final int[] CONTENT = new int[] {R.drawable.biz_ad_new_version1_img0,R.drawable.biz_ad_new_version1_img1,R.drawable.biz_ad_new_version1_img2,R.drawable.biz_ad_new_version1_img3 };public TestFragmentAdapter(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int position) {boolean isLastPic = false;if (position == CONTENT.length - 1)isLastPic = true;return TestFragment.newInstance(CONTENT[position], isLastPic);}@Overridepublic int getCount() {return CONTENT.length;} }

    下面是我修改后例子的下載鏈接:

    ?


    其實無論像這種上下滑動引導頁的效果,可以有多種方式去實現,在此僅提供不敢說是最優化,但一定是 最便捷的一種方法.

    有時間的話我會再研究下聚合閱讀的那個動畫效果,在此先記錄下, 大家如有好的意見,歡迎討論.

    總結

    以上是生活随笔為你收集整理的用DirectionalViewPager代替ViewPager的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美成人aaaaⅴ片在线看 | 精品无码久久久久久久 | 麻豆影视大全 | 无码人妻久久一区二区三区不卡 | 国产精品影院在线观看 | 爱情岛论坛av | 欧美国产精品久久 | www.精品视频 | 国产美女久久久久久 | 国产ts在线视频 | 欧美成人精品一区二区三区 | 久久精品亚洲一区 | 日韩成人在线免费视频 | 国产在线欧美日韩 | 成年人性生活视频 | 一级国产片 | 天天舔天天干 | jzjzz成人免费视频 | 图片区小说区视频区 | 国产成人一区二区三区别 | 美女插插 | 色妞视频| 欧美专区视频 | 少妇视频一区二区三区 | 日韩影院一区二区 | www.五月婷| 一区二区日韩 | 国产精品无码久久久久高潮 | 久久永久免费 | h在线免费 | 午夜特级毛片 | 简单av在线 | 国产精品无码电影在线观看 | xxxx久久| 蜜臀va| 无码人妻精品一区二区三区9厂 | 熟妇人妻无码xxx视频 | av爱爱爱| 极品色av | 亚洲国产成人一区二区精品区 | 97超碰人人澡人人爱学生 | 精品无码一区二区三区的天堂 | 大白屁股一区二区视频 | 扩阴视频 | 免费黡色av| 无码人妻aⅴ一区二区三区玉蒲团 | xxxx日本免费 | 一级片免费在线观看 | 玖玖玖在线观看 | 国产在线精品播放 | 99久久久无码国产精品性色戒 | 91美女视频网站 | 韩日中文字幕 | 成人在线不卡 | va在线| 久久99精品波多结衣一区 | 亚洲一本在线 | 精品中文字幕一区二区 | 欧美视频一区在线观看 | 国产成人一区 | 久久丝袜美腿 | 色一情一交一乱一区二区三区 | 视色影视 | 亚洲暴爽 | 日韩av一区二区在线播放 | 住在隔壁的她动漫免费观看全集下载 | 色吧av | 国产999精品久久久久久 | 中文字幕在线导航 | 国产在线高清视频 | 亚洲成人自拍网 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 五月天丁香婷 | 热九九精品 | 在线观看黄| 玖草视频在线观看 | 欧美性猛交乱大交 | 午夜激情免费视频 | 国产精品永久久久久久久久久 | 国产最新自拍 | 久久精品8 | 国产精品偷伦视频免费观看了 | 日韩一页 | 三级a做爰全过程 | 高清一级片 | 日韩欧美一区二区免费 | 99视频在线精品免费观看2 | 99久久精品无码一区二区毛片 | 91福利在线观看视频 | 欧美精品一区二区三区久久久竹菊 | 久久刺激 | 精品一二三四区 | 日韩亚洲在线观看 | 一区二区人妻 | 精品久久久国产 | 福利电影一区二区 | 日韩欧美久久 | 日韩xxx视频 | 亚洲专区中文字幕 |