gpt4 book ai didi

android - 如何旋转可绘制对象而不是 imageView 本身?

转载 作者:太空狗 更新时间:2023-10-29 12:54:35 32 4
gpt4 key购买 nike

我有一个内部可绘制的 ImageView 。这个 drawable 是一个类似于正在进行的对话框中的环:

加载环:

<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadiusRatio="3"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:width="20dip"
android:height="20dip"/>

<gradient
android:type="sweep"
android:useLevel="false"
android:startColor="#4c737373"
android:centerColor="#4c737373"
android:centerY="0.50"
android:endColor="#ffffffff"/>
</shape>

为了旋转这个环,我创建了一个这样的旋转动画:

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="359"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:duration="1000"
android:interpolator="@android:anim/linear_interpolator" />

但是当我在 imageView 上应用动画时:

this.cameraView.setAnimation(AnimationUtils.loadAnimation(this,R.anim.loadinganimation));

所有 imageView 都在旋转。我只想旋转圆环( ImageView 的 src),我该如何实现?

谢谢

最佳答案

// load the origial BitMap (500 x 500 px)
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
R.drawable.android);

int width = bitmapOrg.width();
int height = bitmapOrg.height();

// createa matrix for the manipulation
Matrix matrix = new Matrix();

// rotate the Bitmap
matrix.postRotate(45);

// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
width, height, matrix, true);

// make a Drawable from Bitmap to allow to set the BitMap
// to the ImageView, ImageButton or what ever
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

// set the Drawable on the ImageView
imageView.setImageDrawable(bmd);

有关详细信息,请查看此内容。

http://www.anddev.org/resize_and_rotate_image_-_example-t621.html

关于android - 如何旋转可绘制对象而不是 imageView 本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8165688/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com