android怎么实现图片旋转
就是我现在有一个imageView里边放着一个地球的图。我想打开应用的时候地球自动旋转,请问怎么实现。我试着用了matrix没实现。而且我的地球右边有一部分是超出屏幕外的...
就是我现在有一个imageView里边放着一个地球的图。我想打开应用的时候地球自动旋转,请问怎么实现。我试着用了matrix没实现。
而且我的地球右边有一部分是超出屏幕外的。如图。 展开
而且我的地球右边有一部分是超出屏幕外的。如图。 展开
2个回答
2015-12-07 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
可以使用RotateAnimation动画实现,设定无限循环即可
代码如下
public class MyActivity extends Activity {
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
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);
}
}
也可以自定义view继承于imageview,启动一个线程,在while循环里设置view的旋转角度
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(16);
}
}
}
在布局文件里使用RotateView代替imageview即可
logo在线生成器
2024-10-23 广告
2024-10-23 广告
燕雀零一专业logo生成器,是一家科技型的设计公司,团队深耕企业品牌设计服务已有十余年,已助力多家企业塑造其品牌形象及体验,服务内容含:LOGO设计/VI设计/产品包装设计/导视店面门头及空间设计,吉祥物设计/海报设计等。 我们的目标是帮助...
点击进入详情页
本回答由logo在线生成器提供
展开全部
matrix.setRotate(-90); // 这里的角度你可以根据需要设置
Bitmap bm1 = Bitmap.createBitmap(bm, 0, 0, bmWidth, bmHeight, matrix, true);
mImageView.setImageBitmap(bm1);
mImageView.setScaleType(ScaleType.FIT_XY); //这个是让图片适应屏幕大小,但是不是按比例缩放的.
你试试!
Bitmap bm1 = Bitmap.createBitmap(bm, 0, 0, bmWidth, bmHeight, matrix, true);
mImageView.setImageBitmap(bm1);
mImageView.setScaleType(ScaleType.FIT_XY); //这个是让图片适应屏幕大小,但是不是按比例缩放的.
你试试!
追问
我是想让他一直旋转。实现一个地球转动的效果。这个是静态的只转了某一个角度吧
追答
那你可以试试在一个死循环中让图片不断改变角度,比如在循环中设置 每次循环旋转90度.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |