iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在ViewPager中使用Fragment实现侧滑导航栏
  • 484
分享到

怎么在ViewPager中使用Fragment实现侧滑导航栏

2023-06-15 03:06:19 484人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关怎么在ViewPager中使用Fragment实现侧滑导航栏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Activity:package com.exampl

这期内容当中小编将会给大家带来有关怎么在ViewPager中使用Fragment实现侧滑导航栏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Activity:

package com.example.administrator.Android006; import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageButton;import android.widget.ImageView;import android.widget.LinearLayout; import com.example.administrator.android006.Fragment.fragment1;import com.example.administrator.android006.Fragment.fragment2;import com.example.administrator.android006.Fragment.fragment3;import com.example.administrator.android006.Fragment.fragment4; import java.util.ArrayList;import java.util.List; public class MainActivity extends FragmentActivity implements View.OnClickListener {     //顶部4个按钮    private LinearLayout main_home_layout,main_msg_layout,main_pal_layout,main_me_layout;    private ViewPager main_mViewPager;    //ViewPager的适配器    private FragmentPagerAdapter mAdapter;    //4个Fragment碎片的集合    private List<Fragment> mFragments = new ArrayList<>();     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         //初始化,加载碎片        initView();        initAdapter();    }     public void initAdapter(){        mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {            @Override            public Fragment getItem(int position) {                return mFragments.get(position);            }             @Override            public int getCount() {                return mFragments.size();            }        };        main_mViewPager.setAdapter(mAdapter);        main_mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {             }             @Override            public void onPageSelected(int position) {                //重置ImageView的颜色                resetImg();                //设置选中时的图片                switch (position) {                    case 0:                        ((ImageView) main_home_layout.findViewById(R.id.main_home_img))                                .setImageResource(R.drawable.home_black);                        break;                    case 1:                        ((ImageView) main_msg_layout.findViewById(R.id.main_msg_img))                                .setImageResource(R.drawable.msg_black);                        break;                    case 2:                        ((ImageView) main_pal_layout.findViewById(R.id.main_pal_img))                                .setImageResource(R.drawable.pal_black);                        break;                    case 3:                        ((ImageView) main_me_layout.findViewById(R.id.main_me_img))                                .setImageResource(R.drawable.me_black);                        break;                }            }             @Override            public void onPageScrollStateChanged(int state) {             }        });    }     //重置ImageView的图片    protected void resetImg(){        ((ImageView) main_home_layout.findViewById(R.id.main_home_img))                .setImageResource(R.drawable.home_gray);        ((ImageView) main_msg_layout.findViewById(R.id.main_msg_img))                .setImageResource(R.drawable.msg_gray);        ((ImageView) main_pal_layout.findViewById(R.id.main_pal_img))                .setImageResource(R.drawable.pal_gray);        ((ImageView) main_me_layout.findViewById(R.id.main_me_img))                .setImageResource(R.drawable.me_gray);    }     public void initView(){        main_home_layout = findViewById(R.id.main_home_layout);        main_msg_layout = findViewById(R.id.main_msg_layout);        main_pal_layout = findViewById(R.id.main_pal_layout);        main_me_layout = findViewById(R.id.main_me_layout);        main_mViewPager = findViewById(R.id.main_mViewPager);         fragment1 vp_fr1 = new fragment1();        fragment2 vp_fr2 = new fragment2();        fragment3 vp_fr3 = new fragment3();        fragment4 vp_fr4 = new fragment4();        mFragments.add(vp_fr1);        mFragments.add(vp_fr2);        mFragments.add(vp_fr3);        mFragments.add(vp_fr4);        main_home_layout.setOnClickListener(this);        main_msg_layout.setOnClickListener(this);        main_pal_layout.setOnClickListener(this);        main_me_layout.setOnClickListener(this);    }     @Override    public void onClick(View view) {        switch (view.getId()) {            //点击首页时,设置ViewPager的下标为0            case R.id.main_home_layout:                main_mViewPager.setCurrentItem(0);                break;            //点击消息时,设置ViewPager的下标为1            case R.id.main_msg_layout:                main_mViewPager.setCurrentItem(1);                break;            //点击好友时,设置ViewPager的下标为2            case R.id.main_pal_layout:                main_mViewPager.setCurrentItem(2);                break;            //点击我时,设置ViewPager的下标为3            case R.id.main_me_layout:                main_mViewPager.setCurrentItem(3);                break;        }    }}

.xml文件中:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">     <LinearLayout        android:layout_width="match_parent"        android:layout_height="50dp"        android:orientation="horizontal"        >        <LinearLayout            android:id="@+id/main_home_layout"            android:layout_width="0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:orientation="vertical"            android:gravity="center"            >            <ImageView                android:id="@+id/main_home_img"                android:layout_width="30dp"                android:layout_height="30dp"                android:src="@drawable/home_black"                android:scaleType="fitXY"                />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="首页"                />        </LinearLayout>        <LinearLayout            android:id="@+id/main_msg_layout"            android:layout_width="0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:orientation="vertical"            android:gravity="center"            >            <ImageView                android:id="@+id/main_msg_img"                android:layout_width="30dp"                android:layout_height="30dp"                android:src="@drawable/msg_gray"                />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="消息"                />        </LinearLayout>        <LinearLayout            android:id="@+id/main_pal_layout"            android:layout_width="0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:orientation="vertical"            android:gravity="center"            >            <ImageView                android:id="@+id/main_pal_img"                android:layout_width="30dp"                android:layout_height="30dp"                android:src="@drawable/pal_gray"                />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="好友"                />        </LinearLayout>        <LinearLayout            android:id="@+id/main_me_layout"            android:layout_width="0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:orientation="vertical"            android:gravity="center"            >            <ImageView                android:id="@+id/main_me_img"                android:layout_width="30dp"                android:layout_height="30dp"                android:src="@drawable/me_gray"                />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="我"                />        </LinearLayout>    </LinearLayout>    <android.support.v4.view.ViewPager        android:id="@+id/main_mViewPager"        android:layout_width="match_parent"        android:layout_height="match_parent">     </android.support.v4.view.ViewPager></LinearLayout>

这个是ViewPager中的其中一个Fragment:

public class fragment1 extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return inflater.inflate(R.layout.fragment1,container,false);    }}

其Fragment布局:

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"    android:layout_height="match_parent">     <TextView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:gravity="center"        android:text="我是Fragment1"        /> </android.support.constraint.ConstraintLayout>

上述就是小编为大家分享的怎么在ViewPager中使用Fragment实现侧滑导航栏了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎么在ViewPager中使用Fragment实现侧滑导航栏

本文链接: https://www.lsjlt.com/news/277158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ViewPager+Fragment实现侧滑导航栏
    本文实例为大家分享了ViewPager+Fragment实现侧滑导航栏的具体代码,供大家参考,具体内容如下 本文主要整理和记录下 本来想用Gif图片,这里暂时就用图片代替下吧: A...
    99+
    2022-11-12
  • 怎么在ViewPager中使用Fragment实现侧滑导航栏
    这期内容当中小编将会给大家带来有关怎么在ViewPager中使用Fragment实现侧滑导航栏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Activity:package com.exampl...
    99+
    2023-06-15
  • 怎么使用javascript实现左侧导航栏并配合右侧页面跳转
    本文小编为大家详细介绍“怎么使用javascript实现左侧导航栏并配合右侧页面跳转”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用javascript实现左侧导航栏并配合右侧页面跳转”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-07-06
  • 怎么在android应用中利用Fragment与RadioButton实现一个底部导航栏
    本篇文章为大家展示了怎么在android应用中利用Fragment与RadioButton实现一个底部导航栏,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先我们先在activity_mian.xm...
    99+
    2023-05-31
    fragment android roi
  • 使用html5怎么实现一个横向滑动导航栏
    这篇文章给大家介绍使用html5怎么实现一个横向滑动导航栏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先引入scroll.jshtml部分<!-- 科目导航 --> &nb...
    99+
    2023-06-09
  • Android 中使用RadioGroup和Fragment实现底部导航栏的功能
    在一些购物商城中经常会遇到这类效果,效果图如下: 先看效果图 步骤一: 完成对主界面main.xml的创建: <?xml version="1.0" enco...
    99+
    2022-11-12
  • Android中如何使用RadioGroup和Fragment实现底部导航栏的功能
    小编给大家分享一下Android中如何使用RadioGroup和Fragment实现底部导航栏的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在一些购物商城中...
    99+
    2023-06-15
  • Android应用中怎实现一个顶部导航栏滑动效果
    本篇文章给大家分享的是有关Android应用中怎实现一个顶部导航栏滑动效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。向app Module中的build.gradle中添加...
    99+
    2023-05-31
    android roi
  • Python怎么使用Qt5实现水平导航栏
    本篇内容主要讲解“Python怎么使用Qt5实现水平导航栏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么使用Qt5实现水平导航栏”吧!在 Qt5 中可以使用 QWidget 包含...
    99+
    2023-07-05
  • 怎么使用DrawerLayout和NavigationView实现侧滑菜单栏的效果
    小编给大家分享一下怎么使用DrawerLayout和NavigationView实现侧滑菜单栏的效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!效果如下:Layout布局<android.support.v4.wi...
    99+
    2023-05-30
    material design
  • Android studio中使用ViewPager和BottomNavigationView实现底部导航栏和碎片的同步切换
    前言 通过几次的踩雷和摸索,完成了以上的操作,本教程写的详细全面,包教包会,对新手有好,看了不会的联系我,我倒立洗头给你看。 1.需要了解的一些知识 所需控件: fragment 作为Android中最常用的控件,它有自己的声明周期,...
    99+
    2023-09-26
    开发语言 java android studio 前端 android
  • 怎么在Android应用中利用ActionBar实现一个导航栏功能
    怎么在Android应用中利用ActionBar实现一个导航栏功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Action Bar是一种新増的导航栏功能,在Android 3...
    99+
    2023-05-31
    android actionbar roi
  • 使用CSS怎么实现一个导航栏和下拉菜单
    这篇文章将为大家详细讲解有关使用CSS怎么实现一个导航栏和下拉菜单,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、CSS导航栏(1)导航栏的作用熟练使用导航栏,对于网站排版非常重要,使用C...
    99+
    2023-06-08
  • 使用CSS怎么实现导航栏下划线跟随效果
    使用CSS怎么实现导航栏下划线跟随效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。假设 HTML 结构如下:<ul>  <...
    99+
    2023-06-08
  • 怎么在Android中利用ViewPager实现一个屏幕滑动效果
    本篇文章给大家分享的是有关怎么在Android中利用ViewPager实现一个屏幕滑动效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。创建View创建一个在之后作为fragm...
    99+
    2023-05-30
    viewpager android
  • 怎么在Android中利用DrawerLayout实现一个双向侧滑菜单
    这篇文章将为大家详细讲解有关怎么在Android中利用DrawerLayout实现一个双向侧滑菜单,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。布局文件的代码:<LinearLayou...
    99+
    2023-05-30
  • 怎么在Android中利用ListView实现一个侧滑删除功能
    本篇文章给大家分享的是有关怎么在Android中利用ListView实现一个侧滑删除功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。需求:listView可以侧滑item,展...
    99+
    2023-05-31
    android listview roi
  • 怎么在android应用中利用ViewPager实现一个滑动翻页效果
    这期内容当中小编将会给大家带来有关怎么在android应用中利用ViewPager实现一个滑动翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现ViewPager的滑动翻页效果可以使用ViewPa...
    99+
    2023-05-31
    viewpager android age
  • 在android中使用ViewPager怎么实现无限轮播功能
    这篇文章给大家介绍在android中使用ViewPager怎么实现无限轮播功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、布局<&#63;xml version="1.0" en...
    99+
    2023-05-31
    viewpager android age
  • 怎么在Android中使用SeekBar实现一个平滑滚动效果
    这篇文章将为大家详细讲解有关怎么在Android中使用SeekBar实现一个平滑滚动效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。把max改为100,progress改为50<Se...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作