1. 程式人生 > >手把手教你如何在安卓中使圖片進行旋轉

手把手教你如何在安卓中使圖片進行旋轉

      下面介紹一些關於在Android中,使圖片進行旋轉的一些方法,當然這裡主要介紹旋轉的,如果有其他的動畫效果,可以類似的進行修改::

方法一:

1、首先在res資料夾下建立一個名字為anim的資料夾,名字不要寫錯 
2、在anim裡面建立一個xlm檔案:img_animation.xml,這個名字隨便寫都可以,注意不要大寫,裡面的程式碼如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <rotate
        android:duration="5000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="-1"
        android:repeatMode="restart"
        android:toDegrees="360" />

    <!-- 引數的含義
    duration:時間</span>
    fromDegrees="0":  從幾度開始轉</span>t
    oDegrees="360" : 旋轉多少度</span>
    pivotX="50%:旋轉中心距離view的左頂點為50%距離,
    pivotY="50%: 距離view的上邊緣為50%距離
    repeatCount="-1":重複次數,-1為一直重複
    repeatMode="restart":重複模式,restart從頭開始重複

    -->

</set>

   然後,再去你需要讓哪個圖片進行旋轉就新增下面的方法:

backgroundLight = (ImageView) findViewById(R.id.medallight);
	Animation animation = AnimationUtils.loadAnimation(this, R.anim.imagerota); 
        LinearInterpolator lin = new LinearInterpolator();//設定動畫勻速運動
        animation.setInterpolator(lin);
        backgroundLight.startAnimation(animation);
   通過這樣的方法,你就實現了圖片旋轉的效果了。

方法二:

  用執行緒的方法去進行旋轉。

package com.readboy.game.susuanlianximobile.others;

import android.content.Context;
import android.os.SystemClock;
import android.util.AttributeSet;
import android.widget.ImageView;

public class RotateView extends ImageView implements Runnable {

    private float mCurDegree = 0;//當前旋轉角度
    public RotateView(Context context, AttributeSet attrs) {
        super(context, attrs);
        new Thread(this).start();
    }

    @Override
    protected void onLayout(boolean changed, int left, int top, int right,
                            int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        //設定旋轉中心
        setPivotX(getMeasuredWidth()/2);
        setPivotY(getMeasuredHeight()/2);
    }

    @Override
    public void run() {
        while(true){
            setRotation(mCurDegree);
            mCurDegree += 5;
            postInvalidate();
            SystemClock.sleep(200);
        }
    }
}
   通過這樣的方法,主要是由於重寫了ImageView,所以在你要讓某個圖片進行旋轉的時候,千萬要記得在佈局中,將那圖片的ImageView改為這個類的名字。。。。切記!!!!!!!!!!!!!!!!

比如:

改變前:

<ImageView
          android:id="@+id/medallight"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@drawable/medallight"
          android:layout_centerInParent="true"
改變後為:
<com.readboy.game.susuanlianximobile.others.RotateView
          android:id="@+id/medallight"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@drawable/medallight"
          android:layout_centerInParent="true"
          />
前面的是包名,後面的是類名就可以了。

方法三::

    直接用安卓裡面的RotateAnimation類,進行也可以。(這種比較簡單)

 iv = (ImageView)findViewById(R.id.image);
        RotateAnimation animation = new RotateAnimation(0, 360);
        animation.setDuration(100000);//設定轉一圈的時間
        animation.setRepeatCount(Animation.INFINITE);//設定無限迴圈
        animation.setRepeatMode(Animation.RESTART);
        iv.startAnimation(animation);

在安卓中,Animation這個類有很多用處的,可以去看看API進行更多的效果。。

上面就是幾種比較好的方法了,謝謝網上的資源進行整合了!!!!歡迎交流!!!!!!!!!!

    <rotate
        android:duration="5000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="-1"
        android:repeatMode="restart"
        android:toDegrees="360" />

    <!-- 引數的含義
    duration:時間</span>
    fromDegrees="0":  從幾度開始轉</span>t
    oDegrees="360" : 旋轉多少度</span>
    pivotX="50%:旋轉中心距離view的左頂點為50%距離,
    pivotY="50%: 距離view的上邊緣為50%距離
    repeatCount="-1":重複次數,-1為一直重複
    repeatMode="restart":重複模式,restart從頭開始重複

    -->

</set

相關推薦

手把手如何在使圖片進行旋轉

      下面介紹一些關於在Android中,使圖片進行旋轉的一些方法,當然這裡主要介紹旋轉的,如果有其他的動畫效果,可以類似的進行修改::方法一:1、首先在res資料夾下建立一個名字為anim的資料夾,名字不要寫錯 2、在anim裡面建立一個xlm檔案:img_anima

手把手入門(一)

部落格 學院 下載 GitChat 論壇 寫部落格 發Chat

手把手搭建eclipse的php環境

1.下載eclipse  建議下載 Eclipse Standard (標準版) 2.在eclipse中下載 PDT(php development tools) help->Install

手把手爬取妹紙圖片

序:之前為了演示定向爬取的demo.寫了個簡單的爬取妹紙圖片的小程式(之前的程式碼下載不了(從明文的圖片地址變成動態載入))。為了整理下,貼出來跟大家分享下。****************我們略去了動態獲取資料及驗證碼的。百度搜出來妹子圖煎蛋網靠前,就用它了。受制於爬蟲與反

根據圖片檔名獲取圖片資源ID

方法一: /** * 獲取圖片名稱獲取圖片的資源id的方法 * @param imageName * @return */ public int getResource(String imageName) {

手把手解決Linux根分割槽不足問題^^

第一次遇到這個問題是在安裝oracle的時候,提示我根目錄所在的邏輯卷記憶體不夠,必須要擴充套件空間才能繼續安裝下去,^^下面我們來詳細的看下怎麼操作吧,因為自己走了很多彎路,所以會盡可能寫的詳細一些,以便初入門的大家有個好的參考 (ps,我

手把手在Python實現文字分類(附程式碼、資料集)

作者: Shivam Bansal 翻譯:申利彬校對:丁楠雅本文約2300字,建議

手把手在Eclipse配置開發Struts(一)

作者:baggio785 日期:2006-3-9 關鍵詞:Eclipse,MyEclipse,Struts,Java 前言 本文根據例項詳細介紹瞭如果在Eclipse中配置並開發Struts。此前在網上也看到過不少此類文章,而且還是有不少網友問此類問題。所以想根據自己的實

手把手在Word設定大綱,再也不用freestyle了

“你有freestyle嗎?”吳亦凡的一句話,讓很多人開始關注《中國有嘻哈》這個綜藝節目,也讓我們知道原來嘻哈是需要freestyle的。會freestyle的Rapper才是好Rapper,嘻哈歌手PG one也是在公演時展現了他的freestyle能力(雖然是因為忘詞)

Tablayout的使用,手把手如何打造滑動切換介面

   tablayout是一個很好用的控制元件,我平時的使用習慣是將fragment與tablayout合併使用,在首頁的fragment裡嵌入tablayout,達到一種介面緊湊的效果,下面先上圖: 是不是感覺很單一?今天只是簡單的操作,後期大家可以往裡面新增屬性,首先,

手把手快速拿到iOS應用所有圖片資源

最近閒來無事, 突然想到一個有趣的技能,我們看別人高仿一些專案,奇怪圖片資源和其他資原始檔是怎麼拿到的,今天,我就一步一步教大家拿到一個iOS應用裡面的所有資源. 說到這裡,就會提到一個常識: Images.xcassets這個資料夾大家都不陌生. 它在

手把手實現RecycleView橫向和ViewPage的級聯滑動

之前做過一個horizontalScrollView+viewpage的級聯滑動,總結如下: 既然我們有了recycleView為何不用? recycleview可以在horizontalScrollView的基礎上增加多行,實現更多變更多定製化的效果。

手把手深度定製tiny44125.0系統(一)---開發板如何預置檔案到android系統

想要預置檔案,首先要了解Android原始碼中device這個目,開啟這個目錄我們看到,這個目錄廠家會針對不同的開發板做一些修改:在這個目錄中,我們看到有不同的廠家定製的資訊,我們這款開發板是友善之壁提

手把手學習並實現 耳機口音訊轉紅外發射

安卓實現耳機口音訊轉紅外發射 前一段時間因為找工作,完了之後又有兩個專案做,一個 BLE4.0 的專案,一個紅外控制的專案,因此也好久沒寫文章了。BLE4.0 的資料網上一抓一大把,就不多說了。 雖說紅外很早就開始火了,從最早的遙控器,到紅外測距等等,但是網上關於 A

遮罩圖片的處理

reference south res rac req hat 代碼 cep flag 安卓開發中必不可少的就是各種圖片的圓角,遮罩等等。 曾經我都是用shape處理的。發現背景圖的圓角要設置成和界面父元素背景一樣才幹看不出現紕漏。 當遇到背景多變的情況,比方listv

手把手製作GIF動態圖片【GIF教程】

GIF動態圖片的原理就是在一段時間內顯示一系列圖片或者是幀,每一張圖或者幀都較前面那一張圖有些許的變化,當變化速度達到一定程度就產生這些圖片或者幀動起來的錯覺。小編今天所講的教程就是教大家如何錄製視訊,並將視訊分解成幀,從而再將其串起來,製作成GIF動態圖片的。這需要用到一款名為迅捷GIF製

手把手ExtJS從入門到放棄——篇六(示例2:window新增子元件)

例2: 在window中新增子元件,並講解常用查詢元件的方式: 重點分析:該例項主要針對於元件的查詢進行詳細的講解,在以後的應用開發中,同學們應該學會各種方式去查詢所需要的元件,不要拘泥於某種特定形式,這樣會給開發思路帶來很多好處。 -------------------- 具體

【Redis】手把手Windowsredis的下載,安裝,設定及啟動

文章目錄 1、系統環境 2、Redis下載 3、Redis在Windows中安裝 4、Redis啟動 5、環境變數設定

手把手深入理解Spring原始碼-spring開篇(

授人以魚不如授人以漁,《手把手教你深入理解Spring原始碼》專欄教你如何學習、思考、閱讀Spring框架,並應對其它開源框架不再畏懼。 接著上篇的文章講,上篇的文章講述了什麼是IOC,這篇講述什麼又是AOP? 一樣的在看這篇文章之前,大家不妨先花點時間思考一下。 1、AOP的設計原理

手把手vue如何使用TradingView

1、去官方倉庫(地址)下載程式碼到本地 2、進到專案資料夾 => 可用node啟動專案 => npm install http-server -g => http-server -p 9090 3、通過index.html檔案,知道以下三個檔案