栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何实现Fragment的滑动?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何实现Fragment的滑动?

将Fragment与viewpager绑定,通过viewpager中的touch事件,会进行move事件的滑动处理。

Fragment布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@android:color/holo_red_light"><TextView    android:layout_width="match_parent"    android:layout_height="match_parent"    android:text="Fragment One" />    </LinearLayout><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@android:color/holo_red_light">    <TextView    android:layout_width="match_parent"    android:layout_height="match_parent"    android:text="Fragment Two" />    </LinearLayout>Fragment代码:public class FragmentOne extends Fragment {        @Nullable        @Override        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment_one, container, false);}}public class FragmentTwo extends Fragment {@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {   return inflater.inflate(R.layout.fragment_Two, container, false);}}

 

viewpager布局:

 

xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.spreadtrumshitaoli.fragmentscroll.MainActivity"><android.support.v4.view.ViewPager    android:id="@+id/view_pager"    android:layout_height="match_parent"    android:layout_width="match_parent"/></android.support.constraint.ConstraintLayout>

MainActivity代码:

 

public class MainActivity extends AppCompatActivity {private FragmentOne fragmentOne;private FragmentTwo fragmentTwo; private ViewPager viewPager; private ArrayList<Fragment> mFragmentList = new ArrayList <Fragment>();private FragmentPagerAdapter fragmentPagerAdapter; @Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);     init(); } private void init() {     viewPager = (ViewPager) findViewById(R.id.view_pager);    fragmentOne = new FragmentOne();    fragmentTwo = new FragmentTwo();     mFragmentList.add(fragmentOne);    mFragmentList.add(fragmentTwo);        //将adapter和fragment绑定在一起。        fragmentPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int i) {     return mFragmentList != null ? mFragmentList.get(i) : null; } @Override        public int getCount() { return mFragmentList != null ? mFragmentList.size() : 0;        }    };    viewPager.setAdapter(fragmentPagerAdapter);    viewPager.setonPageChangeListener(new ViewPager.onPageChangeListener() {        @Override        public void onPageScrolled(int i, float v, int i1) {         }         @Override        public void onPageSelected(int i) { //TODO:        }         @Override        public void onPageScrollStateChanged(int i) {         }    }); }   } 

在这段代码中,我们

首先fragment以及viewpager都实例化;

再将fragment添加到泛型arraylist里;

最后将带有fragment的arraylist和adapter绑定。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360122.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号