Android使用RotateImageView 旋转ImageView_Android

废话不多说了,直接给大家代码。

具体代码如下所示:

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旋转ImageView
rotateimageview
android旋转imageview、rotateimageview、android rotate 旋转、android view rotate、imageview旋转90度,以便于您获取更多的相关知识。

时间: 2024-09-20 05:38:53

Android使用RotateImageView 旋转ImageView_Android的相关文章

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.

Android实现屏幕旋转方法总结

  Android实现屏幕旋转方法总结         这篇文章主要介绍了Android实现屏幕旋转方法,实例总结了屏幕旋转的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例总结了Android实现屏幕旋转方法.分享给大家供大家参考.具体如下: 在介绍之前,我们需要先了解默认情况下android屏幕旋转的机制: 默认情况下,当用户手机的重力感应器打开后,旋转屏幕方向,会导致当前activity发生onDestroy-> onCreate,这样会重新构造当前activity和界面布局

视频播放-如何在android系统上旋转视频方向

问题描述 如何在android系统上旋转视频方向 目前在做一个盒子,无陀螺仪,视频播放时方向不正确.试了各种方法,无效. 解决方案 tabbar的旋转方向 解决方案二: 太麻烦了,没有大侠知道吗?

导航 地图服务器-android 3D可以旋转视角的导航地图如何开发?小弟不胜感激。

问题描述 android 3D可以旋转视角的导航地图如何开发?小弟不胜感激. 请问大侠们 android 3D可以旋转视角的导航地图如何开发?小弟不胜感激. android客户端用 opengl es 吗? 服务器端用什么? 使用ArcGIS Server 做后台地图服务器吗? 还是使用 opengl es 加载 obj三维模型文件,组成3D场景进行导航服务呢?

Android实现屏幕旋转方法总结_Android

本文实例总结了Android实现屏幕旋转方法.分享给大家供大家参考.具体如下: 在介绍之前,我们需要先了解默认情况下android屏幕旋转的机制: 默认情况下,当用户手机的重力感应器打开后,旋转屏幕方向,会导致当前activity发生onDestroy-> onCreate,这样会重新构造当前activity和界面布局,如果在Camera界面,则表现为卡顿或者黑屏一段时间.如果是在横竖屏UI设计方面,那么想很好地支持屏幕旋转,则建议在res中建立layout-land和layout-port两个

jbox2d 旋转效果-jbox2d在android上实现旋转功能

问题描述 jbox2d在android上实现旋转功能 现在有这么个需求:两个小球围绕中间一个打球转动,我现在用jbox2d做的,旋转主要代码如下,但是这个在mGravity = new Vec2(0, 10.0f);的时候外面的小球只能装半圈,请做过类似效果的指点一二,怎么能让旋转的小球以一定速度一直转 public RevoluteJoint createRevoluteJoint(Body body1, Body body2) { RevoluteJointDef revoluteJoint

Android 实现会旋转的饼状统计图实例代码_Android

Android 实现会旋转的饼状统计图实例代码 最近在做一个项目,由于有需要统计的需要,于是就做成了下面饼状统计图. 下图是效果图: 大致思路是: 关于的介绍这里不做详细介绍,如果想深入请点击开源项目MPAndroidChart 下面是其实现: 首先是添加MPAndroidChart依赖: maven { url "https://jitpack.io" } compile 'com.github.PhilJay:MPAndroidChart:v3.0.1' Mainactivity

Android 实现会旋转的饼状统计图实例代码

Android 实现会旋转的饼状统计图实例代码 最近在做一个项目,由于有需要统计的需要,于是就做成了下面饼状统计图. 下图是效果图: 大致思路是: 关于的介绍这里不做详细介绍,如果想深入请点击开源项目MPAndroidChart 下面是其实现: 首先是添加MPAndroidChart依赖: maven { url "https://jitpack.io" } compile 'com.github.PhilJay:MPAndroidChart:v3.0.1' Mainactivity

解决android有的手机拍照后上传图片被旋转的问题_Android

需求:做仿新浪发微博的项目,能够上传图片还有两外一个项目用到手机拍摄图片,这两个都需要把图片上传到服务器 遇到问题:有的手机拍摄的图片旋转90度,有的图片旋转了180度,有的手机是正常的,服务器要求的是正的,这样问题就来了,不能用户发个照片在微博上看到的是被旋转了的啊,另外一个项目里旋转了的图片直接匹配出现问题,这个更严重. 解决:开始的时候在网上没有找到很好的解决办法,谷歌百度的搜了一通,想到第一种解决方式,当手机拍照结束,在返回结果处理里面立即跳转到一个新的页面,在新的页面里让用户自己手动去