对另一个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. 【LeetCode OJ】Best Time to Buy and Sell Stock

    Problem Link: http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/ We solve this problem ...

  2. 3、SQL基础整理(分组)

    分组 group by select class from xuesheng group by class select class,AVG(chinese)from xuesheng group b ...

  3. cookie 作用域

    在http://xiaoyou-game.com/user/login方法中设置cookie: setcookie('username',$username,time()+3600,'/user/', ...

  4. LeetCode Median of Two Sorted Arrays 找中位数(技巧)

    题意: 给两个有序(升or降)的数组,求两个数组合并之后的中位数. 思路: 按照找第k大的思想,很巧妙.将问题的规模降低,对于每个子问题,k的规模至少减半. 考虑其中一个子问题,在两个有序数组中找第k ...

  5. 从数学角度看最大期望(EM)算法 I

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2014/11/18 更新.发现以前的公式(2)里有错误,现已改过来.由于这几天和Can讨论了EM算法,回头看我以前写的 ...

  6. 机器学习技法-GBDT算法

    课程地址:https://class.coursera.org/ntumltwo-002/lecture 之前看过别人的竞赛视频,知道GBDT这个算法应用十分广泛.林在第八讲,简单的介绍了AdaBoo ...

  7. python发布文件(windows)

    怎样发布文件 首先发布本地文件有一个好的用处,就是省去了朋友同import的时候还要使用sys.path,省的自己出错 1.新建文件夹d:\ tool 在的d:\tool文件夹中建立login.py ...

  8. IE8 CSS hack 测试

    IE8正式版出来有一段日子了,但是针对ie8正式版的CSS hack却很少,其实这是值得庆幸的,因为ie8修复了很多IE6和IE7的一些BUG,更加接近W3C标准.针对IE8正式版的CSS hack目 ...

  9. javascript 字符串方法名调用

    项目中有时候需要通过字符串传递方法名称,供页面调用 var ParameterDefaultCallMethod = Request("ParameterDefaultCallMethod& ...

  10. css ul li 水平布局问题

    可以有俩种方法,暂时只用float:left:   找到每一个li进行水平浮动 #hd_nav li{ border-right: 1px solid rgba(255,255,255,0.2); f ...