位置: 编程技术 - 正文

Android 手机影音 学习过程记录(二)(安卓影音播放软件)

编辑:rootadmin

推荐整理分享Android 手机影音 学习过程记录(二)(安卓影音播放软件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:是一款为小伙伴们打造的手机影音播放软件,实时更新,安卓影音播放软件,安卓手机影音播放器哪个好用,安卓手机版下载安装影音,是一款为小伙伴们打造的手机影音播放软件,实时更新,是一款为小伙伴们打造的手机影音播放软件,实时更新,安卓手机版下载安装影音,安卓手机影音播放器哪个好用,内容如对您有帮助,希望把文章链接给更多的朋友!

前一篇已经将SplashActivity编写好了,这篇主要梳理一下主页面MainActivity。包括:

实现ViewPager上方的头布局Tab的高亮和缩放动画;实现指示线的随手指移动而移动的效果基类的编写

一般项目开发中,会涉及到很多的Activity和Fragment的使用,而且我们在这些activity或者fragment中操作的方法大致一样:初始化view,初始化data,初始化listener,以及实现一些控件的onClick方法。

所以为了方便,我们将这些方法向上抽取,放到一个BaseActivity以及一个BaseFragment当中去。当需要使用的时候,直接继承我们已经写好的这些基类,这样,不仅少了不少重复代码,而且可读性极大增强,逻辑更加清晰。

说明:这里基类继承的是FragmentActivity而不是Activity,主要是考虑到主页面的viewpager嵌套了两个fragment,它的的适配器是继承FragmentPagerAdapter,这是v4包下的,所以主页面需要通过继承FragmentActivity来getSupportFragmentManager得到这个fragmentManager。

这里顺道把BaseFragment的编写也贴上,后面要用到。跟BaseActivity差不多。

说明:这里多了enterActivity()的两个重载的方法,是根据该项目需求抽取的。因为该项目中,fragment中加入的是一个listview控件,点击其中的一个item会跳转到一个activity中去,有时带数据,有时不带,为了代码整洁,所以都抽取到BaseFragment中了。

主页面布局以及标题栏Tab高亮&缩放效果前提:既然是自己定义标题栏,就不能忘了把系统自带的标题栏给去掉。 在style.xml文件中AppTheme的样式下加入下面代码:

1. 主页面布局文件:

Android 手机影音 学习过程记录(二)(安卓影音播放软件)

2. 标题栏高亮及缩放:

这里缩放的动画效果是用的属性动画,API_及以上才有,如果想兼容低版本,可以用 nineoldandroids-2.4.0.jar来实现。标题栏指示线的随手指移动而移动效果

思考:

指示线的宽是多少了呢?该项目中是屏幕宽的一半,但能写死吗?万一后来需求改了,标题栏要求添加一个tab呢?很显然,这个指示线不能写死,得根据标签的数量动态去设置,两个标签,宽就是屏幕的1/2,三个标签,宽就是屏幕的1/3。fragment的数量就是标签的数量,因为每一个标签对应一个fragment。如何让指示线随手指的滑动而滑动呢?是不是应该这样:viewpager滑动一个页面的距离(即屏幕宽),指示线就应该移动它本身的宽度。在viewpager的onPageScrolled(int position, float positionOffset, int positionOffsetPixels)方法中,参数position是当前fragment的位置,参数positionOffset就是手指滑动距离占屏幕总宽的比率,参数positionOffsetPixels就是滑动的像素值。有了滑动比率,指示线的宽,就好办了,拿 lineWidth * positionOffset不就是指示线应该滑动的距离吗。原理就是这么简单,但要注意,指示线在移动的时候,要把原始的位置加上,不然,它会一直在屏幕左边滑动。lineWidth * position + lineWidth * positionOffset。偏移亮计算出来了,这里还是用属性动画来实现随手指滑动。通过setDuration(0)来达到效果。

贴张图再次加深对上面文字的理解。

计算指示线宽度的代码:

指示线随手指滑动的代码:(在监听viewpager的onPageScrolled()的方法里设置)

主页面完整代码

说明:该项目用了xUtils框架中的注解功能,省去大量的 findViewById()操作。

好了,先整理到这里。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Eclipse和AndroidStudio常用快捷键对比 由于AndroidStudio趋近成熟,所以我也在学习这个工具。由于以前一直在用Eclipse,所以整理了一份自己常用的快捷键对比表格,以便于快速学习:描述Eclips

Android在应用中打开系统播放器 在Android应用中嵌入系统播放器可以使用Mediaplayer实例完成,但是如何打开系统播放器呢?(就是例如浏览网页,遇到一个rtsp链接,点击之后直接启动播

SQLite -- 嵌入式关系型数据库 SQLite--嵌入式关系型数据库1,SQLite的数据类型:Typelessness(无类型)1,可以保存任何类型的数据到表的任意列中2,支持常见的类型如:NULL,VARCHAR,TEXT,INTEGER,B

标签: 安卓影音播放软件

本文链接地址:https://www.jiuchutong.com/biancheng/371023.html 转载请保留说明!

上一篇:欢迎使用CSDN-markdown编辑器(欢迎使用来电提醒业务是什么意思)

下一篇:Eclipse和AndroidStudio常用快捷键对比

  • 变更税务流程登记流程和资料
  • 餐饮业厨房设备专票可以抵税吗
  • 公司房屋修缮账务流程
  • 公司购买汽车的折旧年限
  • 存续小微企业
  • 软件平台服务公司的营业执照经营范围怎么写
  • 有限合伙企业应当
  • 预收和应收可以冲销吗
  • 教育费附加可以扣除吗
  • 所得税的利润总额怎么计算
  • 社会团体财务手册怎么写
  • 计提社保费计入什么科目
  • 工资分开发的奖金具体个税是多少?
  • 新会计准则税金及附加
  • 红冲增值税专用发票需要收回原发票吗
  • 仓储费专用发票可以抵扣吗?
  • 水利申报怎么申报
  • a公司拟吸收合并b公司除一项无形资产吗
  • 船舶维修价格表2017
  • 健身房属于什么经营类别
  • 法人向公司借款用途怎么写
  • 出口企业内销商怎么做
  • 所得税汇算清缴退税会计分录怎么做
  • 企业帐薄包括哪些
  • 标准差怎么算 例题
  • 当期费用包括哪些科目
  • linux文件管理与常用命令实验报告
  • deepin 终端命令
  • 罚款收入营业外收入还是其他应收款
  • win11怎么桌面快捷方式
  • php表单生成器
  • php copy函数
  • 浅谈PHP发送HTTP请求的几种方式
  • 增值税留抵抵欠流程
  • php编程入门教程
  • 调整以前年度损益调整分录费用调增
  • JavaScript | 1000个判断条件难道要写了1000个 if ? 一文教你如何实现分支优化
  • yolov2模型
  • FPN细节剖析以及pytorch代码实现
  • 培训费发票是否含税
  • 处置固定资产净收益属于利得吗
  • 企业设置辅助账户的作用
  • 无偿借贷什么意思
  • 个人所得税申报数
  • 应收利息和应收股利属于什么科目
  • 以前年度多计收入今年怎么调整
  • 住宿费收入会计分录
  • 差旅费误餐补助
  • 装潢装修费用属于营改增
  • 应付账款清账账务处理
  • 研发支出 期末
  • 应该是先付款还是先开发票
  • 主营业务成本包括工资吗
  • 固定资产没有发票
  • 印花税缴纳怎么做账
  • 从工程款中扣除质保金
  • 企业缴纳社保费包括企业部分和个人部分
  • 银行存款日记账怎么记账
  • 未分配利润如何计算
  • 企业支付宝买东西怎么买
  • 本年收益属于什么科目
  • 自产自销的茶叶公司怎么做账
  • 怎么进入bios设置界面win10
  • 进去界面黑屏
  • win10一周年深色主题
  • Win7如何开启蓝牙
  • 优化太差
  • Android OnTouchEvent, onClick, onLongClick调用机制
  • ftp下载怎么用
  • unity3d游戏引擎支持几种平台发布?
  • bat延迟1秒
  • JavaScript html5 canvas绘制时钟效果
  • jquery easyui从零开始学pdf
  • python语言的特殊符号
  • 可分割项目
  • 浙江省发票勾选认证操作流程2021
  • 企业跨区域迁移
  • 什么督导组词
  • 季度财务会计报告怎么写
  • 税率分几种 分别是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设