Android使用RotateImageView 旋轉(zhuǎn)ImageView
更新時間:2016年01月11日 11:03:39 作者:DerDeath
這篇文章主要介紹了Android使用RotateImageView 旋轉(zhuǎn)ImageView 的相關(guān)資料,需要的朋友可以參考下
廢話不多說了,直接給大家代碼。
具體代碼如下所示:
package com.droidhen.game.layout;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PaintFlagsDrawFilter;
import android.graphics.Rect;
import android.widget.ImageView;
public class RotateImageView extends ImageView {
/**旋轉(zhuǎn)角度**/
private float _degree;
/**旋轉(zhuǎn)中心**/
private float _x;
private float _y;
/** 背景和前景資源 */
private Bitmap _bgRes, _fgRes;
/** 數(shù)字圖片資源 */
private Bitmap _nums;
private Bitmap _buffer;
private Canvas _canvas;
private int start = ;
private int unitx = ;
public RotateImageView(Context context) {
super(context);
_degree = f;
_x = ;
_y = ;
_nums = BitmapFactory.decodeResource(getResources(), R.drawable.level_num);
}
public void setResIds(int bgResId, int fgResId) {
_bgRes = BitmapFactory.decodeResource(getResources(), bgResId);
_fgRes = BitmapFactory.decodeResource(getResources(), fgResId);
}
public void setLevel(int level) {
String _level = String.valueOf(level);
_buffer = Bitmap.createBitmap( _level.length()*(_nums.getWidth()/), _nums.getHeight(), Config.ARGB_);
unitx = _nums.getWidth()/;
_canvas = new Canvas(_buffer);
for(int i = ; i <= _level.length()-; i++){
Rect src = new Rect((_level.charAt(i) - '')*unitx, , (_level.charAt(i) - '' + )*unitx, _nums.getHeight());
Rect dst = new Rect( i*unitx, , (i + )*unitx, _nums.getHeight());
_canvas.drawBitmap(_nums, src, dst, null);
}
}
public void setLevel(int level, int Resid) {
_nums = BitmapFactory.decodeResource(getResources(), Resid);
String _level = String.valueOf(level);
_buffer = Bitmap.createBitmap( _level.length()*(_nums.getWidth()/), _nums.getHeight(), Config.ARGB_);
unitx = _nums.getWidth()/;
_canvas = new Canvas(_buffer);
for(int i = ; i <= _level.length()-; i++){
Rect src = new Rect((_level.charAt(i) - '')*unitx, , (_level.charAt(i) - '' + )*unitx, _nums.getHeight());
Rect dst = new Rect( i*unitx, , (i + )*unitx, _nums.getHeight());
_canvas.drawBitmap(_nums, src, dst, null);
}
}
public void setDegree(float degree) {
_degree = degree;
}
public void setDegree(float degree, float x, float y) {
_degree = degree;
_x = x;
_y = y;
}
public float getDegree() {
return _degree;
}
public float getRotateX() {
return _x;
}
public float getRotateY() {
return _y;
}
@Override
public void draw(Canvas canvas) {
canvas.save();
canvas.setDrawFilter(new PaintFlagsDrawFilter(, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
canvas.rotate(_degree, _x, _y);
canvas.drawBitmap(_bgRes, , , null);
canvas.drawBitmap(_fgRes, , , null);
canvas.drawBitmap(_buffer, (_bgRes.getWidth() - _buffer.getWidth())/f, , null);
canvas.restore();
}
}
以上代碼是關(guān)于Android RotateImageView 可旋轉(zhuǎn)ImageView 的全部內(nèi)容,希望對大家有所幫助。
您可能感興趣的文章:
- Android自定義View實現(xiàn)QQ運動積分轉(zhuǎn)盤抽獎功能
- Android 自定View實現(xiàn)仿QQ運動步數(shù)圓弧及動畫效果
- Android自定義View仿微博運動積分動畫效果
- Android UI之ImageView實現(xiàn)圖片旋轉(zhuǎn)和縮放
- Android UI設(shè)計系列之ImageView實現(xiàn)ProgressBar旋轉(zhuǎn)效果(1)
- Android自定義View葉子旋轉(zhuǎn)完整版(六)
- Android自定義View實現(xiàn)QQ音樂中圓形旋轉(zhuǎn)碟子
- Android自定義View實現(xiàn)葉子飄動旋轉(zhuǎn)效果(四)
- Android中imageView圖片放大縮小及旋轉(zhuǎn)功能示例代碼
- Android自定義View圖片按Path運動和旋轉(zhuǎn)
相關(guān)文章
Android中RecyclerView實現(xiàn)Item添加和刪除的代碼示例
本篇文章主要介紹了Android中RecyclerView實現(xiàn)Item添加和刪除的代碼示例,非常具有實用價值,需要的朋友可以參考下2017-09-09
Android 中使用RecyclerView實現(xiàn)底部翻頁
這篇文章主要介紹了Android 中使用RecyclerView實現(xiàn)底部翻頁功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11
Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實現(xiàn)步驟
這篇文章主要介紹了Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Android中兩個Activity之間數(shù)據(jù)傳遞及返回問題
本篇文章主要介紹了Android中兩個Activity之間數(shù)據(jù)傳遞及返回問題,這里整理了詳細(xì)的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02
Android實現(xiàn)簡潔的APP更新dialog數(shù)字進度條
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)簡潔的APP更新dialog數(shù)字進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Android App開發(fā)中將View或Drawable轉(zhuǎn)為Bitmap的方法
這篇文章主要介紹了Android App開發(fā)中將View或Drawable轉(zhuǎn)為Bitmap的方法,其中View轉(zhuǎn)換時作者特別提到了getDrawingCache=null問題的解決方法,需要的朋友可以參考下2016-03-03

