日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android view rotate,Android使用RotateImageView 旋转ImageView

發布時間:2023/12/10 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android view rotate,Android使用RotateImageView 旋转ImageView 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

廢話不多說了,直接給大家代碼。

具體代碼如下所示:

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 {

/**旋轉角度**/

private float _degree;

/**旋轉中心**/

private float _x;

private float _y;

/** 背景和前景資源 */

private Bitmap _bgRes, _fgRes;

/** 數字圖片資源 */

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();

}

}

以上代碼是關于Android RotateImageView 可旋轉ImageView 的全部內容,希望對大家有所幫助。

總結

以上是生活随笔為你收集整理的android view rotate,Android使用RotateImageView 旋转ImageView的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。