利用TabLayout(5.0新技术)+ViewPager+Fragment方法实现书签导航

实现打开Android系统相册、照相机并实现照相,录像功能。 通过本篇博客,你将学到以下知识点: 1.学会如何打开Android系统中相册的图片,视频,并使用这些图片,视频。 2.学会如何打Android开照相机进行照相,录像,并使用这样图片和视频。 下面我将展示两种方法来实现这些需求,注意,以下代码要用真机测试才行。 效果展示先:一. 第一种方法: ①.想顺利的打开Android中的相册和照相机,首先我们要在清单中注册一些权限: <!--使用相机硬 阅读详情

“效果展示:
效果:顶部有书签Tablayout,点击书签或滑动Fragment,
通过ViewPager可以切换UI界面。比如网易新闻。
这里写图片描述

实现书签导航思路:
Fragment + ViewPager + TabLayout(5.0新技术)
   1.有多少个书签,就创建多少个Fragment。
   2.初始化数据: 找出Fagment的对象,存进集合。
   3.适配数据:创建一个类,继承FragmentPagerAdapter,
     把碎片管理器getSupportFragmentManager(),集合lis传送过去。
     在布局添加ViewpPager,再把适配到的数据设置到ViewPager中。
   4.加依赖包:design.
     作用:可以设置书签导航,可让书签和ViewPager相互监听。
   5.找到TabLayout的对象,让tablayout和Viewpager绑定.   
     tabLayout.setupWithViewPager(viewPager);   
   6.设置书签名称步骤:
    a .初始化数据,把标签的名字添加到List集合中,把list传送到适配器中
    b .在适配器中重写构造方法,再重写一个 getPageTitle方法,
       返回一个String title = titleList.get(position);值。
   7.如果多个导航标签,可利用滚动模式 :SCROLLABLE   

代码展示:
1.MainActivity的代码:

public class Fragment_ViewPager_TabLayout extends AppCompatActivity {
    private List<Fragment> list;
    private ViewPager viewPager;
    private TabLayout tabLayout;
    private  List<String> titleList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_viewpager_tab);
        viewPager =
         (ViewPager) findViewById(R.id.viewpager2);
        tabLayout = (TabLayout) findViewById(R.id.tablayout);
        loadData();
        BaseFragmentPagerAdapter_TabLayout adapter = new BaseFragmentPagerAdapter_TabLayout(getSupportFragmentManager(),
        list,titleList);
        viewPager.setAdapter(adapter);
        //tablayout和Viewpager绑定在一起
      tabLayout.setupWithViewPager(viewPager);
        //如果多个导航标签,则利用下面的的滚动模式
       tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);    
}
    private void loadData() {
        list = new ArrayList<Fragment>();
        Fragment fragmentA = new Fragment_A();
        list.add(fragmentA);

        Fragment fragmentB = new Fragment_B();
        list.add(fragmentB);

        Fragment fragmentC = new Fragment_C();
        list.add(fragmentC);

        Fragment fragmentD = new Fragment_D();
        list.add(fragmentD);

        //.设置书签名称步骤:
        //1.初始化数据,把书签的名称添加到List集合中,把list传送到适配器中
        //2.在适配器中重写构造方法,再重写一个 getPageTitle方法,返回一个String title = titleList.get(position);值。
        titleList = new ArrayList<>();
        titleList.add("应用");
        titleList.add("游戏");
        titleList.add("主页");
        titleList.add("管理");
    }
}

2.FragmentPagerAdapter的代码:

public class BaseFragmentPagerAdapter_TabLayout extends FragmentPagerAdapter {
    private final List<String> titleList;
    private List<Fragment> list;


    public BaseFragmentPagerAdapter_TabLayout(FragmentManager fm, List<Fragment> list, List<String> titleList) {
        super(fm);
        this.list=list;
        this.titleList = titleList;
    }

    @Override
    public Fragment getItem(int position) {

        return list.get(position);
    }

    @Override
    public int getCount() {

        return list.size();
    }
    //这个方法用于添加表名
    @Override
    public CharSequence getPageTitle(int position) {
       String title ="";
        if(titleList!=null){
            title = titleList.get(position);
    }
        return title;
    }
}
使用SurfaceView播放视频,调节进度,滑动屏幕调节音量并显示音量。 效果展示: 首先在清单文件中注册: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> java代码: public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback { priv 阅读详情

相关推荐

SurfaceView与Canvas的结合实现气泡动态壁纸

效果展示: 其实每个View中都有Canvas可以用来绘制动画,只需要在这个View中重载onDraw()方法就可以,但是SurfaceView类是一个专门用来制动动画的类。Canvas(中文叫做”画布”)就和HTML5中的canvas标签一样可以在一定区域内自由绘制图形。Canvas+SurfaceView制作的动画与View Animation和Property Animation这类动画

用心去专研技术,用代码改变世界__ Mr.Wang 1357

Android5.0 之 TabLayout配合ViewPager实现界面切换

TabLayout是Android5.0提供给我们的一款使用起来相对方便的布局翻页效果的控件,实现后的效果相对来说也更加的贴近于使用的习惯。对开发提供了更大的便利。看下布局效果,当点击上方3个指示控件时,下面的ViewPager将会切换到对应的布局界面。

小树哥儿 1866

Fragment FragmentManager和 viewpager实现android底部导航

Fragment FragmentManager和 viewpager实现android底部导航

Android5.0新组件TabLayout+ViewPager实现Tab页面

本来算是个鸡肋的东西,但是design兼容包发布之后情况就大不一样了。 下面看代码: 首先在gradle中添加依赖 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:design:22.2.1' compile 'com.and

博客 2418

基于Simulink的防空导弹六自由度弹道建模与仿真实战

本文详细介绍了基于Simulink的防空导弹六自由度弹道建模与仿真方法。通过分析导弹动力学原理、Simulink环境配置、气动力建模、推进与控制系统设计等关键环节,提供了一套完整的实战指南。文章特别强调了六自由度模型在防空导弹仿真中的重要性,并分享了常见问题排查与优化建议,为相关领域工程师提供实用参考。

apple5的专栏 865

免Root抓包神器Packet Capture:安卓App数据捕获全攻略

本文详细介绍了免Root安卓抓包神器Packet Capture的安装与使用全攻略。通过利用安卓系统的VPN Service API,该工具无需Root权限即可捕获并解密App的HTTP/HTTPS网络流量。文章从核心原理、证书安装、实战抓包步骤到结果分析与常见问题排查,提供了完整指南,是移动端开发、安全测试和数据分析的实用利器。

weixin_29232507的博客 1073

android 中简单的Tablayout+ViewPager+Fragment的使用

先上图 参考 https://blog.csdn.net/bskfnvjtlyzmv867/article/details/70766639    教程  1.创建FragmentPagerAdapter子类管理Fragment public class PageAdapter extends FragmentPagerAdapter {     private int num; ...

jiexiao4151的博客 343

STM32F030F4P6实战:LL库+DMA驱动WS2812全流程(附避坑指南)

本文详细介绍了如何使用STM32F030F4P6的LL库和DMA驱动WS2812 LED灯带的全流程,包括硬件选型、CubeMX配置、LL库与DMA关键实现、数据格式转换及调试技巧。特别提供了避坑指南,帮助开发者避免常见错误,提升开发效率。

weixin_29194693的博客 484

【幻化万千戏红尘】qianfeng-Android-Day19_导航栏制作

Fragment、ViewPager实现TAB导航条效果 制作Tab书签导航条(书签选项卡)有多种方法: 【特别提示:】注意几种创建Tab书签导航中Fragment生命周期的变化。 1、TabActivity+TabHost(已经过期) 2、Fragment + RadioGroup      【必要时首选】     3、Fragment + ViewPager  +  RadioGro

幻化万千戏红尘 301

ABB机器人ModbusTCP通信实战:如何高效传输Float数据到PLC(附完整代码)

本文详细介绍了ABB机器人通过ModbusTCP协议高效传输Float数据到PLC的实战方法,包括底层逻辑解析、RAPID程序架构设计、PLC服务器配置及现场调试技巧。特别针对浮点数据传输中的字节顺序问题提供了解决方案,并附有完整代码示例,助力工程师快速实现工业自动化设备间的高精度数据交互。

weixin_30836759的博客 482

【AIGC】大模型面试高频考点07-注意力(Attention)篇

AIGC面试高频考点

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 3361

静态,动态使用Fragment的讲解。

Fragment:是一种可以嵌入在Activity中的 UI 片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板和目前的大屏手机上应用的非常广泛(只要屏幕大,都会用到Fragment)。 下面我们就来看看Fragment静态和动态动态的使用。 一.静态使用Fragment: 把Fragment当成普通的控件,直接写在Activity的布局文件中。 思路: 1:在MainAciti

用心去专研技术,用代码改变世界__ Mr.Wang 4077

VXWorks6.9 + Workbench3.3 开发环境部署

VxWorks6.9 + Workbench3.3的安装部署,以及简单示例项目的创建、编译和运行

Mr.Sugarcane 5456

Android蓝牙自动配对工具类,亲测好使!!!

蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框。 经过最近一段时间得研究,针对网上给出的案例。总结了一个亲测好使的Demo。 说明如下: 1、本Demo用来连接蓝牙设备HC-05,如果你要连接其他蓝牙设备,注意修改相关名字以及修改设备初试pin值。 2、将Demo安装在Android手机上,点击按钮,可以实现与目标蓝牙设备的自动配对。 3、若目标蓝牙

用心去专研技术,用代码改变世界__ Mr.Wang 3820

先进封装类别分析与典型案例

当制程微缩逼近物理极限、单颗大芯片(reticle limit)面积受限于光罩尺寸,且逻辑、存储、射频、传感等功能无法用同一套工艺最经济地制造时,性能增益的来源从 "晶体管密度" 转向 "互连密度"。先进封装的本质,是在芯片外部用更短、更密、更宽的路径把多个裸 die(die)互连起来,换取更高带宽、更低延迟、更小体积和异构集成能力。行业通常按划分为 2D、2.5D、3D、扇出、SiP 五大谱系,Chiplet/UCIe 则是贯穿其上的设计方法论,玻璃基板、共封装光学(CPO)是正在成型的新分支。

0 30

【YOLOv8系列】在Windows上离线搭建YOLOv8运行环境

我们都知道,通过 pip安装YOLOv8是非常方便的,但是有时候网络环境受到限制,比如公司的工作站(无法连接网络)或者机房的教学机器等等,只能通过离线的方式安装YOLOv8;今天就来记录一下离线搭建YOLOv8运行环境的过程。并记录了遇到的问题及解决过程。

AnChenliang_1002的博客 2004

Activity七大生命周期详解

首先,流程图来一张: 介绍生命周期之前,先提一下任务的概念: 任务其实就是activity 的栈,换句话说任务就是” 应用程序” 。 栈底的是启动整个任务的Activity,栈顶的是当前运行的用户可以交互的Activity,当一个activity 启动另外一个的时候,新的activity 就被压入栈,并成为当前运行的activity。而前一个activity 仍保持在栈之中。当用户按下BACK

用心去专研技术,用代码改变世界__ Mr.Wang 2152

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

自定义书签导航

效果展示: 切换后: 实现思路: 1.三个书签其实就是三个TextView,先用shape画出TextView的两种状态,然后用选择器selector去切换TextView的状态。 2.创建三个Fragment,然后使用FragmentPagerAdapter进行适配。 3.三个TextView设置监听方法,当切换TextView时,Fragment也会相应的改变,也可以给三个View

用心去专研技术,用代码改变世界__ Mr.Wang 1769

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

使用Handler中postDelayed方法实现广告页面无限循环轮播效果

效果展示: 直接上代码: 1.MainActivity的代码:public class MainActivity extends Activity { private ViewPager viewPager; private ImageView[] imageViews; private int COUNT = 4; private Handler mHandler;

用心去专研技术,用代码改变世界__ Mr.Wang 1663

阻塞双端消息队列 BlockingDeque(先进先出的原则管理)

既是一个队列的生产者又是这个队列的消费者的时候可以使用到 BlockingDeque。 看图我们之后秒懂了吧,当我们需要把数据发送的对方时,又想有规律均速一条一条的发送,我们就可以这么干了。直接上菜啦: 1. 现在onCreate中启动消息处理器 new HandleMess().start();2 获得BlockingDeque对象 BlockingDeque<byte[]

用心去专研技术,用代码改变世界__ Mr.Wang 1464

利用RadioGroup + ViewPager + Fragment实现书签导航

效果展示: 实现思路:1.底部有多少个书签,就创建多少个Feagment。在drawable中绘制选择器selector,也就是底部的书签。 2.初始化数据:找到Fragment对象,Fragment fragmentA = new Fragment_A();把对象加入集合。 3.适配数据:创建一个类,继承FragmentPagerAdapter适配器,把Fragment管理器:g

用心去专研技术,用代码改变世界__ Mr.Wang 1372

框架模式MVC与MVP的区别

MVC和MVP到底有什么区别呢? MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 从这幅图可以看到,我们可以看到在MVC里,View是可以直接

用心去专研技术,用代码改变世界__ Mr.Wang 1368

使用AsyncTask异步任务下载数据

1.使用异步任务的原因: ①.android 4.0开始主线程不能执行耗时任务(网络连接,数据库访问,文件的读取)。 不能在主线程执行的原因: android的主线程也叫UI线程,专门响应用户的点击事件等,必须能够快速的响应。 网络连接容易堵塞,UI线程超过5s没有响应用户请求,会弹出无响应关闭对话框提醒用户终止应用程序。 ②子线程不能修改UI,所以就有了异步任务来处理数据。2.同步与异步

用心去专研技术,用代码改变世界__ Mr.Wang 1322

关于性能监控

一.性能监控的作用: 能通过压缩平均恢复时间来减少应用程序的停机时间,或者记录某个应用程序从发生问题到恢复正常,一共花费了多久,并且能够通过检查识别性能瓶颈来提高应用程序性能。IT专家们需要方法来记录分析和改善数据中心性能以及应用程序性能。 二 . 性能监控软件可以从多个来源获得: ①系统厂商工具。许多大型服务器厂商都提供监控工具来支持其产品,同样也包括第三方产品。 ② 第三方工

用心去专研技术,用代码改变世界__ Mr.Wang 1249

使用Handler中postDelayed方法实现广告页面轮播效果

效果展示: 概况: 1.使用handler进行线程之间的通讯 2 Handler的post方法作用: 将run方法里面的代码推到handler实例化的那个线程(主线程)中运行 3. postDelayed方法作用: 该继承post方法的特点,并且可以根据第二个参数进行延时执行。可以做广告轮播的效果。实现思路: 1.初步构建ViewPager。 2.初始化数据。 3.适配数据,把适

用心去专研技术,用代码改变世界__ Mr.Wang 1132
上一篇: 利用ViewPager实现广告栏广告页面轮播效果
下一篇: 利用RadioGroup + ViewPager + Fragment实现书签导航
Allen-华
博客等级 码龄11年 10粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值