日韩性视频-久久久蜜桃-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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 成人免费视频a | 国产精品香蕉国产 | av福利网 | 国产精品一区二区人妻喷水 | 日韩有码中文字幕在线 | 国产污污| 男生尿隔着内裤呲出来视频 | 亚洲视频在线观看一区 | 欧美巨大荫蒂茸毛毛人妖 | 国产综合在线观看 | 国产成人一区二区三区 | 国产一区二区在线免费观看 | 99riav视频| 免费成人精品 | 97视频人人 | 欧美精品乱码99久久蜜桃 | 一久久久| 日本黄色小视频 | 国产伦精品一区二区三区妓女 | 狠狠爱网站 | 欧美浪妇xxxx高跟鞋交 | 麻豆91精品 | 久操视频免费观看 | 人人干人 | 一个人看的www日本高清视频 | 91叉叉叉 | 欧美在线一级视频 | 国产午夜精品理论片在线 | 色九九| 成人免费公开视频 | 国产男女视频在线观看 | 色综合天天操 | 国产日本一区二区三区 | 国产免费久久精品国产传媒 | 小萝莉末成年一区二区 | 色干网| 97超碰免费在线 | 亚洲天堂影院在线观看 | 极品尤物一区二区三区 | 男女做激情爱呻吟口述全过程 | 国产精久久久久 | 99国产精品久久久久久久久久久 | 亚洲天堂123 | 国产成人久久精品流白浆 | 日韩精品久久久久久久的张开腿让 | 男人添女人荫蒂国产 | 浓精h攵女乱爱av | 午夜视频h| 亚洲国产精品久久精品怡红院 | 黄色一级片在线 | 久久久久免费观看 | www.操com | 国产精品久久影视 | 自拍偷拍 国产 | 美女色呦呦 | 法国经典free性复古xxxx | 亚洲av无码专区在线 | 日日拍夜夜拍 | 欧美一区二区日韩 | 黄色的网站在线观看 | 亚洲第九十七页 | a级在线观看网站 | 蜜桃色999| 长腿校花无力呻吟娇喘的视频 | 精品91自产拍在线观看二区 | 久久久国产成人一区二区三区 | 日韩一二三四区 | 森泽佳奈在线播放 | 男女无遮挡做爰猛烈视频 | 成人禁污污啪啪入口 | 一区二区精 | 韩国三级hd中文字幕叫床浴室 | 韩国成人免费视频 | 亚洲精品国产精品乱码 | 在线看b | 国产在线观看不卡 | 插插插色综合 | 天堂色播 | 丰满岳妇伦在线播放 | 欧美日韩国产高清 | 97国产| 国产一级理论片 | 少妇高潮一区二区三区99刮毛 | 黄色片hd| 粉色视频免费观看 | 少妇做爰免费理伦电影 | 牛牛av国产一区二区 | 91精品国产日韩91久久久久久 | 九九精品视频在线 | 欧美老女人bb | 日本h视频在线观看 | 91调教打屁股xxxx网站 | 欧洲丰满少妇做爰 | 免费久草视频 | 久久首页 | 国产又猛又粗 | 麻豆视频在线 | 葵司免费一区二区三区四区五区 | 秋霞成人|