ViewPager,RadioGroup,FragmentManager 详解 <三> Fragment,ViewPager 和PagerTabStrip

Android底部导航栏创建——ViewPager + RadioGroup 2,当用户点击RadioGroup部分中的RadioButton,被点击的RadioButton出现被选中时的颜色,ViewPager界面对应于RadioButton的页面会出现在当前界面。1,ViewPager部分触摸左右滑动切换页面,RadioGroup部分中的RadioButton随着自己对应的ViewPager页面出现选中时的状态,包括改变背景颜色,这个状态选择器是放置在res/drawable目录下的一个普通状态选择器,该选择器的属性android:drawable的属性值不能直接设置颜色, 阅读详情

0:首先创建Fragment,

1:创建布局,注意了 PagerTabStrip 是在ViewPager 里面的,而且PagerTabStrip 必须要是全路劲

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/viewpage">
        <android.support.v4.view.PagerTabStrip
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/PagerTabStrip"></android.support.v4.view.PagerTabStrip>
    </android.support.v4.view.ViewPager>
</LinearLayout>

2:创建adapter,这个里面 在getPagerTitle 进行Title的设置

package tech.androidstudio.pagetabstripdemo;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.List;

/**
 * Created by Kodulf on 2016/3/14.
 */
public class PagerTabStripFragmentPagerAdapter extends FragmentPagerAdapter {
    List<Fragment> list;

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

    @Override
    public Fragment getItem(int position) {
        return list.get(position);
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
//        return super.getPageTitle(position);
        String ret;
        switch (position){
            case 0:
                ret="财经";
                break;
            case 1:
                ret="体育";
                break;
            case 2:
                ret="娱乐";
                break;
            default:
                ret="未命名";
                break;
        }
        return ret;
    }
}

3:MainActivity 里面只要进行简单的正常的设置就可以了,非常简单。

package tech.androidstudio.pagetabstripdemo;

import android.support.v4.app.Fragment;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import java.util.ArrayList;
import java.util.List;

import tech.androidstudio.pagetabstripdemo.adapter.SlideTabFragmentPagerAdapter;

public class MainActivity extends AppCompatActivity {

    private ViewPager mViewPager;
    private List<Fragment> mList;
    private PagerTabStrip mPagerTabStrip;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mList = new ArrayList<Fragment>();
        mList.add(new FirstFragment());
        mList.add(new SecondFragment());
        mList.add(new ThirdFragment());

        mViewPager = (ViewPager) findViewById(R.id.viewpage);

        PagerTabStripFragmentPagerAdapter adapter = new PagerTabStripFragmentPagerAdapter(getSupportFragmentManager(), mList);
        mViewPager.setAdapter(adapter);
    }
}


TabLayout+TabItem+ViewPager+Fragment实现早期微信屏幕滑动效果 立即下载

相关推荐

TabLayout配合ViewPager和fragment实现既能点击又能左右滑动的效果

TabLayout的使用,TabLayout配合ViewPager和fragment实现既能点击又能左右滑动的效果

关于ScrollView和ViewPager的冲突问题解决方法

在android App开发的时候,很多人都会用到ScrollView、ViewPager和ListView,很多时候为了满足设计需求这三个控件之间都会进行嵌套使用。这里主要分享下ScrollView嵌套ViewPager和ScrollView嵌套ListView两种情景,如有觉得代码、逻辑不妥的地方,还请见谅,也非常乐意和大家一起沟通交流,共同进步~

Kong_88的博客 524

RadioGroup+ViewPager制作的底部导航栏

RadioGroup+ViewPager制作的底部导航栏

android中viewpager,scrollview的嵌套问题

google官方是不提倡在UI中嵌套可滚动控件,如ScrollView,ViewPager等,但有时候为了实现一定的效果也不得不用,其实很多知名App都是这样弄的。下面是我总结的两种嵌套情形。 一.当ScrollView中嵌套ViewPager的情形 这种比较常见,一般是在界面的最顶部放置一个ViewPager,用 来展示图片还有一些文字说明,下面则是List,像之前版本的网易新闻客户

wurensen的专栏 2016

ViewPager+RadioGroup+Fragment实现选项卡

使用ViewPager+RadioGroup+Fragment实现选项卡

ViewPager + RadioGroup

ViewPager + RadioGroup 实现的Android 主界面。可滑动选择

Android 必知必会 - RadioGroup 和 ViewPager 联动

如果移动端访问不佳或需要更好的阅读体验,欢迎使用 ==> Github 版使用 RadioGroup 和 ViewPager 实现更加可定制的效果。背景昨天设计图刚出一点,写了《Android 必知必会 - 动态切换着色模式和全屏模式》,记录了动态修改页面显示模式的方式。今天又有新图,不过设计师只考虑 iOS 平台的设计,拿到设计图发现 TabLayout + ViewPager 的套路实现起来很麻

他叫自己Mr.张 4428

ViewPager+radiogroup+fragment完美结合

ViewPager+radiogroup+fragment完美结合,框架已经搭好,分分钟开发自己的APP!使用中发现什么不足之处,欢迎留言指正!

微信底部菜单栏实现的几种方法 -- Android学习之路

sky-mxc 总结 仿微信 简书 底部菜单栏的实现方式 viewPager + FragmentTabHost , viewpager+TabLayout, viewpager+ RadioGroup

佛系编码 9870

Android ViewPager与radiogroup实现关联示例

本篇文章主要介绍了Android ViewPager与radiogroup实现关联示例,具有一定的参考价值,有兴趣的可以了解一下。

手把手教你用TL431设计反激电源补偿器(附波特图调试技巧)

本文详细介绍了如何使用TL431设计反激电源补偿器,并提供了波特图调试技巧。通过实战经验分享,帮助工程师快速掌握补偿网络设计、分压电阻计算和稳定性判据,避免常见设计误区,提升电源稳定性与效率。

weixin_29201859的博客 379

自定义组合导航栏 ViewPager+RadioGroup

自定义app导航栏

Bin的博客 1720

STM32 上 FreeRTOS 的启动与任务调度详解

4. SysTick定时器:FreeRTOS启动调度器后,会接管STM32的SysTick定时器,用于生成系统节拍,因此不要在HAL库中重复配置SysTick(比如HAL_Init()中已配置,无需再手动调用SysTick_Config()),否则会导致系统节拍异常,任务延迟不准。2. 任务栈大小需按需配置,不是越大越好(浪费RAM),也不能太小(会导致栈溢出),比如简单的传感器读取任务,1024字(4096字节)足够,复杂任务(比如串口接收+数据解析)可调整为2048字。

qq_40170041的博客 867

ViewPager2与RadioGroup连用实现底部导航

效果图如下所示: 配置文件 viewpage2_.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:

霸王龙的博客 896

串口调试神器诞生记:我是如何用Cursor+AI自动生成C#上位机的(含VSCode插件清单)

本文详细介绍了如何利用Cursor和AI技术快速开发C#上位机程序,实现高效的串口通讯调试。从开发环境搭建到代码自动生成,再到性能优化和功能增强,全面展示了AI辅助开发在串口调试中的实际应用和显著效率提升。

weixin_28340315的博客 302

abaqus应力值导出并进行后处理(同一节点多个应力值如何处理?)

Abaqus应力导出: ‘Tools’--- Probe values 在Probe Values里面可以选择需要导出的信息,比如‘Nodes’或者‘Elements’ 如果需要导出多个应力值或者其他信息可以选择‘Components’这个选项。 选择‘Selected’只输出一个正应力S33(对应截图中的) 如果是‘All Direct’,则是输出6个正应力S11, S22, S33, S12, S13, S23 ‘All Principals’输出三个正应力 在输出...

themingyi的博客 5万+

viewpager与radiogroup结合

import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.widget.RadioGroup.On

生如夏花的博客 838

数字频率计设计中的常见误区:从VHDL代码到硬件实现的避坑指南

本文深入探讨了数字频率计从VHDL代码到FPGA硬件实现过程中的关键误区与解决方案。重点分析了闸门时间生成的精度与资源平衡、控制时序设计中的竞争冒险规避,以及如何利用EDA工具进行综合、时序约束与调试,确保设计稳定可靠。文章为开发者提供了从仿真成功到硬件可用的实战避坑指南。

spark7igniter的博客 213

RadioGroup+ViewPager+Fragment的框架布局

第一次学的框架就是这个,用起来赶脚挺简单的拿出来分享一下(如果大家想用顶部这样的布局,或者上边添加个滑动的小三角指示器,可看一下这篇博客http://blog.youkuaiyun.com/kuaizilanqiu/article/details/52122740): 点击底部导航可以切换到相应的Fragment上,先看下布局文件吧:<?xml version="1.0" encoding="utf-8"

kuaizilanqiu的博客 1926

打通ZYNQ的任督二脉:AXI_FIFO数据交互全解析

FIFO(First In First Out,先进先出)是一种经典的数据缓冲结构,就像排队买票一样,先来的人先得到服务。时钟域交叉(CDC):连接不同时钟频率的模块数据缓冲:平衡生产者和消费者的速度差异流量控制:防止数据丢失或溢出input clk,// 输入AXI4-Stream接口(从PS到PL)// 输出AXI4-Stream接口(从PL到PS)// 状态指示信号// 定义状态机状态// 数据缓存// 8个深度的缓存// 流水线处理寄存器。

QQ_778132974的博客 306

使用Simulink进行无刷电机霍尔传感器信号处理电路的仿真

位置检测:霍尔传感器可以检测转子的位置,这对于实现无刷电机的电子换向至关重要。提高效率:通过准确的位置信息,可以优化电机的工作状态,提高效率和性能。通过上述步骤,我们简要介绍了如何基于Simulink实现无刷电机霍尔传感器信号处理电路的仿真。

MHD0815的博客 432

ViewPager+RadioGroup实现页面切换 小白的成长之路(二)

前言 前一篇我们只是新建了一个项目,还没有正式做项目。做一个好的项目要考虑的东西实在太多了,当然我们现在只是想要做个东西提升自我锻炼自己比较光看不练的效果太差了。那么现在一个自己感兴趣的APP做它的模仿是个不错的选择,这样需要实现的那些功能UI的布局,相关的图片资源这些就都不用考虑了,我们就可以专注与技术层面的编写。 我选择模仿网易漫画。 分析设计 打开网易漫画可以看到底部一个控件,点击推...

新手上路 717

基于libVLC的视频播放器之四:直接使用libVLC

一.效果 播放本地文件 播放网络url:rtsp://3.84.6.190/vod/mp4:BigBuckBunny_115k.mov 二.实现 既然有VLC-Qt,为什么还要直接调用libVLC呢,因为直接调用会加深对整个播放流程的理解,方便后面修改VLC-Qt源码。 注意事项: 1.编译报错:error C2065: “libvlc_media_read_cb”: 未声明的标识符。修改如下: 2.libvlc_new(0, nullptr)返回null 将plugins

草上爬的博客 5049

TabLayout让Fragment在ViewPager中的滑动切换更优雅

首先扯点别的:最近感觉自己腐败了,学习也没劲了,锻炼也不积极了,整天吹牛扯淡,意志渐渐消磨,理想慢慢模糊,眼看就要堕入混吃等死的地步了。但是,经过痛苦的挣扎,激烈的内心斗争,我还是决定依然往前走,去迎接生命中的挑战与逆境,欢乐与惊喜。“弃我去者,昨日之日不可留。”今天就应该战斗,努力坚持,为了自己的理想,为了自己的责任。 ps:今天有两件事很高兴。1:跟一个哥们(苗哥)喝了一次酒,失去的csdn博

leilifengxingmw的博客 4690

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

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

Android之RadioGroup+ViewPager制作的底部导航栏

在日常开发中我们常常会用到类似微信或者QQ的底部导航。实现这样的效果有多种,今天就为大家介绍一种实现简单,可控性好的底部导航的实现方法。 首先创建activity_main.xml布局文件,里面主要由ViewPager和RadioGroup构成。ViewPager用来存放Fragment,RadioGroup布局底部导航。 <LinearLayout xmlns:android="http:/

Elven_Shi的专栏 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ViewPager,RadioGroup,FragmentManager 详解 <五> Fragment,ViewPager 和ActionBar

这个 ActionBar 是导航部分的内容,它可以设置导航的模式为tab的模式,可以添加tab到actionbar中 步骤如下: 0:正常的ViewPager 和Fragment的显示, 1:设置ActionBar 2:实现ActionBar和ViewPager的联动。 具体: 0:创建Fragment 1:创建布局 xml version="1.0" encoding

Kodulf的专栏 964

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 报错Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.PagerTabStrip"
下一篇: ViewPager的报错:ViewPager does not have a PagerAdapter set
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值