对另一个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文件中定义如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <rotate xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:drawable="@drawable/image02"
  4. android:visible="true"
  5. android:fromDegrees="-90"
  6. android:toDegrees="180"
  7. android:pivotX="50%"
  8. android:pivotY="50%">
  9. </rotate>

那么,图片的初始角度为-90。即如下:

要旋转到的角度如下:

并且是顺时针旋转。

3、那么图片将从-90到180进行旋转。level值为10000,也就是说level每加1000,即顺时针旋转270/10000*1000=27度。

可以根据显示看出来效果。

    1. public class MainActivity extends Activity{
    2. RotateDrawable rotateDrawable;
    3. int level=0;
    4. @Override
    5. protected void onCreate(Bundle savedInstanceState) {
    6. super.onCreate(savedInstanceState);
    7. setContentView(R.layout.activity_main);
    8. ImageView imageView=(ImageView)findViewById(R.id.imgView);
    9. rotateDrawable=(RotateDrawable)imageView.getDrawable();
    10. thread.start();
    11. }
    12. Thread thread=new Thread(new Runnable() {
    13. public void run() {
    14. while (level<=10000) {
    15. handler.sendEmptyMessage(0x00);
    16. try {
    17. Thread.sleep(2000);
    18. } catch (InterruptedException e) {
    19. e.printStackTrace();
    20. }
    21. }
    22. }
    23. });
    24. Handler handler=new Handler(){
    25. public void handleMessage(Message msg) {
    26. Toast.makeText(MainActivity.this, level+"", 500).show();
    27. rotateDrawable.setLevel(level);
    28. level+=1000;
    29. };
    30. };
    31. }  
      1. from:http://blog.csdn.net/lonelyroamer/article/details/8252533

【转】Android Drawable Resource学习(十一)、RotateDrawable的更多相关文章

  1. android Drawable Resource学习

    转载自: http://blog.csdn.net/true100/article/details/52316423 http://blog.csdn.net/true100/article/deta ...

  2. Android Drawable绘图学习笔记(转)

    如何获取 res 中的资源 数据包package:android.content.res 主要类:Resources Android SDK中的简介:Class for accessing an ap ...

  3. Android Studio 之 用 Drawable resource file 美化 Button 样式

    shape •新建 Drawable resource file 点击 app/src/main/res 找到 drawable 文件夹,右击->New->Drawable Resourc ...

  4. Android Drawable 与 LayerList综合汇总

    先看需求.要求这样的效果 上代码 <?xml version="1.0" encoding="utf-8"? > <layer-list xm ...

  5. Drawable(1)各种Drawable Resource介绍

    简介 Drawable Resources(可绘资源) 是一系列可以在屏幕上被绘制的资源文件,它不只是图片,可以是 xml文件,在xml文件中配置各种绘制参数. 常见Drawable Resource ...

  6. Android Drawable Mipmap Vector使用及Vector兼容

    原文地址:http://blog.csdn.net/eclipsexys/article/details/51838119 http://blog.csdn.net/qq_15545283/artic ...

  7. Android Drawable 详解(教你画画!)

    参考 1.Android中的Drawable基础与自定义Drawable 2.android中的drawable资源 3.Android开发之Shape详细解读 Drawable分类 No xml标签 ...

  8. Android -- Drawable与Bitmap测试

    Drawable                                                                                 以下这个是测试加载10 ...

  9. Android Drawable系列(1):自定义背景以及注意事项

    0. Shape自身属性 android:shape=["rectangle" | "oval" | "line" | "ring ...

随机推荐

  1. susy 学习之进阶

    由于现在对susy的教程有限,只有官网指南性质的文档,然后就是w3cplus对她的翻译,所以我从零安装susy并调试项目到与从github上克隆susy项目同时进行,主要是为了参考susy放在git上 ...

  2. Median Weight Bead_floyd

    Description There are N beads which of the same shape and size, but with different weights. N is an ...

  3. 请问用Inno_Setup打包文件夹时怎么排除其中一个文件?

    请问用Inno_Setup打包文件夹时怎么排除其中一个文件? 该文件夹下有几十个文件,多个文件夹,我要一个个加进去该累死,也容易出问题.不知道能不能实现我要的目的. http://www.jrsoft ...

  4. LeetCode Set Matrix Zeroes(技巧+逻辑)

    题意: 给一个n*m的矩阵,如果某个格子中的数字为0,则将其所在行和列全部置为0.(注:新置的0不必操作) 思路: 主要的问题是怎样区分哪些是新来的0? 方法(1):将矩阵复制多一个,根据副本来操作原 ...

  5. JavaScript数据结构——树

    树:非顺序数据结构,对于存储需要快速查找的数据非常有用. 二叉树:二叉树中的节点最多只能有两个子节点(左侧子节点和右侧子节点).这些定义有助于我们写出更高效的向/从树中插入.查找和删除节点的算法. 二 ...

  6. SFTP 上传文件夹

    使用sftp上传文件夹时若使用如下命令并不work: put /media/Research/GWAS_Class/* Desktop/ 此时,需要添加一个参数 -r, 另外在目标文件夹下面建立一个同 ...

  7. c# ref关键字对于引用类型传递的影响

    我们可能见到下面的代码 public static void StringBuilderNoRef(StringBuilder s)     { s.Append(" World" ...

  8. autoproxy 规则

    目前在 gfwList 中,有如下的规则格式: example.com 匹配:http://www.example.com/foo匹配:http://www.google.com/search?q=w ...

  9. matplotlib example

    # This file generates an old version of the matplotlib logofrom __future__ import print_function# Ab ...

  10. iOS字符串拆分

    NSString* poStr = @"local-8009-1408082245-8.wav"; NSArray* poArr1 = [naviAddressAndPort co ...