Viewpager+Fragment滑动更改ListView数据和设置title文字的变化

本文主要是介绍Viewpager+Fragment滑动更改ListView数据和设置title文字的变化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

设置ListView的数据更改只有几行代码,不用说了;

设置title的文字的变化:给ViewPager设置监听器,Viewpager变化的时候,给文字添加渐变,滑动完成后设置文字最终的大小

主要代码如下:

/**
 * ViewPager切换监听方法
 */
public ViewPager.OnPageChangeListener pageListener = new ViewPager.OnPageChangeListener() {@Override
    public void onPageScrollStateChanged(int arg0) {}/**
     * 移动时文字的变化
     * Viewpager变化的时候,给文字添加渐变
     *
     * option当前位置   offset偏移百分比    arg2偏移值 像素
     */
    @Override
    public void onPageScrolled(int option, float offset, int arg2) {if (offset > 0) {TextView left = (TextView) mLinearLayout.getChildAt(option);
            ArgbEvaluator eva = new ArgbEvaluator();
            int color = (Integer) eva.evaluate(offset, resources.getColor(R.color.text_color_blue), resources.getColor(R.color.text_color_shallow));
            left.setTextColor(color);
            left.setTextSize(15 + (int) (10 * offset));

            TextView right = (TextView) mLinearLayout.getChildAt(option + 1);
            ArgbEvaluator eva2 = new ArgbEvaluator();
            int color2 = (Integer) eva2.evaluate(1 - offset, resources.getColor(R.color.text_color_blue), resources.getColor(R.color.text_color_shallow));
            right.setTextColor(color2);
            left.setTextSize(15 + (int) (10 * (1 - offset)));
            eva = null;
            eva2 = null;
        }}@Override
    public void onPageSelected(int position) {mViewpager.setCurrentItem(position);
        selectTab(position);//滑动完成后的文字变化
        selectIndex = position;
    }
};

/**
 * 选择后的标题栏里面的文字
 */
private void selectTab(int tab_postion) {//判断是否选中
    for (int i = 0; i < mLinearLayout.getChildCount(); i++) {View checkView = mLinearLayout.getChildAt(i);
        boolean ischeck;
        ((TextView) checkView).setTextColor(resources.getColor(R.color.text_color_shallow));
        if (i == tab_postion) {ischeck = true;
            TextView text = (TextView) checkView;
            text.setTextSize(20);
            text.setTextColor(resources.getColor(R.color.text_color_blue));
        } else {ischeck = false;
            TextView text = (TextView) checkView;
            text.setTextSize(15);
        }checkView.setSelected(ischeck);
    }
}


这是最终的效果图:





如果有什么疑问,请加群:305156665,我们一起学习讨论





这篇关于Viewpager+Fragment滑动更改ListView数据和设置title文字的变化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089148

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1