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

相关文章

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片