【转】Android Drawable Resource学习(十一)、RotateDrawable
对另一个drawable资源,基于当前的level,进行旋转的drawable。
- 文件位置:
res/drawable/filename.xml
文件名即资源名- 编译数据类型:
- 指向
RotateDrawable的指针。 - 资源引用:
- In Java:
R.drawable.filename
In XML:@[package:]drawable/filename - 语法:
-
<?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable=""
android:visible=""
android:fromDegrees=""
android:toDegrees=""
android:pivotX=""
android:pivotY=""/>
元素:
- <rotate>
-
定义一个RotateDrawable,必须作为根元素。
属性:
xmlns:android- String类型。 必须的。定义XML文件的命名空间。必须是
"http://schemas.android.com/apk/res/android". android:drawable-
Drawable 资源。必须的。引用一个drawable资源。
android:visible- Boolean。是否可见。
android:fromDegrees- 整形。 从多少的角度开始旋转
android:toDegrees- 整形。 到多少的角度结束旋转
android:pivotX- 百分比。 旋转的中心在图片X轴的百分比
android:visible- 百分比。 旋转的中心在图片Y轴的百分比
-
- 参考:
示例和解释:
坐标的信息如下:

1、原始图片如下:

2、在 scale.xml文件中定义如下:
- <?xml version="1.0" encoding="utf-8"?>
- <rotate xmlns:android="http://schemas.android.com/apk/res/android"
- android:drawable="@drawable/image02"
- android:visible="true"
- android:fromDegrees="-90"
- android:toDegrees="180"
- android:pivotX="50%"
- android:pivotY="50%">
- </rotate>
那么,图片的初始角度为-90。即如下:

要旋转到的角度如下:

并且是顺时针旋转。
3、那么图片将从-90到180进行旋转。level值为10000,也就是说level每加1000,即顺时针旋转270/10000*1000=27度。
可以根据显示看出来效果。
- public class MainActivity extends Activity{
- RotateDrawable rotateDrawable;
- int level=0;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- ImageView imageView=(ImageView)findViewById(R.id.imgView);
- rotateDrawable=(RotateDrawable)imageView.getDrawable();
- thread.start();
- }
- Thread thread=new Thread(new Runnable() {
- public void run() {
- while (level<=10000) {
- handler.sendEmptyMessage(0x00);
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- });
- Handler handler=new Handler(){
- public void handleMessage(Message msg) {
- Toast.makeText(MainActivity.this, level+"", 500).show();
- rotateDrawable.setLevel(level);
- level+=1000;
- };
- };
- }
- from:http://blog.csdn.net/lonelyroamer/article/details/8252533
【转】Android Drawable Resource学习(十一)、RotateDrawable的更多相关文章
- android Drawable Resource学习
转载自: http://blog.csdn.net/true100/article/details/52316423 http://blog.csdn.net/true100/article/deta ...
- Android Drawable绘图学习笔记(转)
如何获取 res 中的资源 数据包package:android.content.res 主要类:Resources Android SDK中的简介:Class for accessing an ap ...
- Android Studio 之 用 Drawable resource file 美化 Button 样式
shape •新建 Drawable resource file 点击 app/src/main/res 找到 drawable 文件夹,右击->New->Drawable Resourc ...
- Android Drawable 与 LayerList综合汇总
先看需求.要求这样的效果 上代码 <?xml version="1.0" encoding="utf-8"? > <layer-list xm ...
- Drawable(1)各种Drawable Resource介绍
简介 Drawable Resources(可绘资源) 是一系列可以在屏幕上被绘制的资源文件,它不只是图片,可以是 xml文件,在xml文件中配置各种绘制参数. 常见Drawable Resource ...
- Android Drawable Mipmap Vector使用及Vector兼容
原文地址:http://blog.csdn.net/eclipsexys/article/details/51838119 http://blog.csdn.net/qq_15545283/artic ...
- Android Drawable 详解(教你画画!)
参考 1.Android中的Drawable基础与自定义Drawable 2.android中的drawable资源 3.Android开发之Shape详细解读 Drawable分类 No xml标签 ...
- Android -- Drawable与Bitmap测试
Drawable 以下这个是测试加载10 ...
- Android Drawable系列(1):自定义背景以及注意事项
0. Shape自身属性 android:shape=["rectangle" | "oval" | "line" | "ring ...
随机推荐
- BZOJ 2252 矩阵距离
BFS. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm&g ...
- Git的环境搭建
Git时当下流行的分布式版本控制系统. 集中式版本控制系统的版本库是集中存放在中央处理器的,所以开发者要先从中央服务器获取最新的版本,编码后再将自己的代码发送给中央处理器.集中式版本控制系统最大的缺点 ...
- iOS数据持久化
在iOS中,实现数据持久化一般分为4大种: 1.属性列表 2.对象归档 3.SQLite 4.Core Data 一.属性列表 NSUserDefaults类的使用和NSKeyedArchiver有很 ...
- Linux交叉开发环境搭建 —— 效率之源
楼主今天终于把所有Linux开发环境需要的软件下载完毕了.虽然以前也是搭建过的,时间久了又折腾了一晚上. 交叉环境: Windows.Linux文件共享 SecureCRT 连接虚拟机终端 工具: V ...
- Android自定义View绘图实现拖影动画
前几天在"Android绘图之渐隐动画"一文中通过画线实现了渐隐动画,但里面有个问题,画笔较粗(大于1)时线段之间会有裂隙,我又改进了一下.这次效果好多了. 先看效果吧: 然后我们 ...
- BUAA 724 晴天小猪的神题(RMQ线段树)
BUAA 724 晴天小猪的神题 题意:中文题,略 题目链接:http://acm.buaa.edu.cn/problem/724/ 思路:对于询问x,y是否在同一区间,可以转换成有没有存在一个区间它 ...
- 在Silverlight中实施RESTful调用
在Silverlight中实施RESTful调用: http://book.51cto.com/art/201006/206314.htm http://bbs.csdn.net/topic ...
- Http方法:Get请求与Post请求的区别
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求Get是获取信息,而不是修改信息,类似数据库查询功能一样,数据不会被修改Get请求的参数会跟在url后进行传递,请求的数据会 ...
- mybatis和model关联
<select id="getSubCreditLogBySubCreditId" parameterType="long" resultType=&qu ...
- 新款F系列虚拟机
我们宣布,10款全新的优化版虚拟机今天正式面市.这款名为"F系列"的全新虚拟机,基于因特尔2.4 千兆赫Xeon® E5-2673 v3(Haswell)处理器:采用因特尔睿频加速 ...