Android 中framework层替换系统progressbar
来源:互联网 发布:java threadlocal 编辑:程序博客网 时间:2024/06/03 20:00
在framework层,系统定义的progressbar位于frameworks\base\core\res\res\values\styles.xml文件中定义:
<style name="Widget.ProgressBar"> <item name="android:indeterminateOnly">true</item> <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item> <item name="android:indeterminateBehavior">repeat</item> <item name="android:indeterminateDuration">3500</item> <item name="android:minWidth">48dip</item> <item name="android:maxWidth">48dip</item> <item name="android:minHeight">48dip</item> <item name="android:maxHeight">48dip</item> <item name="android:mirrorForRtl">false</item> </style> <style name="Widget.ProgressBar.Large"> <item name="android:indeterminateDrawable">@android:drawable/progress_large_white</item> <item name="android:minWidth">76dip</item> <item name="android:maxWidth">76dip</item> <item name="android:minHeight">76dip</item> <item name="android:maxHeight">76dip</item> </style> <style name="Widget.ProgressBar.Small"> <item name="android:indeterminateDrawable">@android:drawable/progress_small_white</item> <item name="android:minWidth">16dip</item> <item name="android:maxWidth">16dip</item> <item name="android:minHeight">16dip</item> <item name="android:maxHeight">16dip</item> </style>
其中"android:indeterminateDrawable"属性定义了progressbar的动画效果,progress_small_white定义在frameworks\base\core\res\res\drawable\下,自定义动画其实就是在drawable文件夹下自定义新的动画文件。
<?xml version="1.0" encoding="utf-8"?><!--/***** Copyright 2009, The Android Open Source Project**** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at **** http://www.apache.org/licenses/LICENSE-2.0 **** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License.*/--><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/spinner_black_48" android:pivotX="50%" android:pivotY="50%" android:framesCount="12" android:frameDuration="100" />
系统定义的为属性动画,我们可以自己更换一张图片就行旋转,或者定义其他动画,包括帧动画来实现更复杂的动画效果。注意在新建帧动画时,要把帧动画的每一张图片在public.xml下进行注册,不能直接模仿系统的定义方法。
1 0
- Android 中framework层替换系统progressbar
- ubuntu系统中搭建Android应用层、framework层、驱动层开发环境
- Android系统级开发--Framework层
- Android系统Framework层源码调试
- Android framework层自定义系统服务
- Android中Notification的framework层讲解
- Android中Notification的framework层讲解
- Android学习之往系统应用中添加framework层的jar包
- 【北京讲座】Android系统Framework层源码分析
- android电池 framework层
- android framework层
- android电池 framework层
- android中progressbar
- Android中progressbar总结
- Android中自定义ProgressBar
- Android中ProgressBar
- Android中ProgressBar进度条
- Android中ProgressBar样式
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
- 完全理解Gson(2):Gson序列化
- Android使用到的Java基础——导包,package,import的使用
- listView动态影藏显现列表项中的多项部分
- 批量插入异常问题 There is no getter for property named ''
- Android 中framework层替换系统progressbar
- Ubuntu 14.04+Cuda 7.0+Opencv2.4.10+Cudnn+(PNG++)+Torch7配置
- PowerDesigner 把Comment复制到name中和把name复制到Comment .
- 简单易学的机器学习算法——极限学习机(ELM)
- 关于git的常用的终端命令
- 使用AIDL实现进程间的通信
- JavaScript修改和删除cookie
- Java基础编程之获取每一数位上的数
- linux centOS 安装mysql5.7.9