【发布时间】:2011-12-15 18:46:09
【问题描述】:
我创建了一个小应用程序,当我单击按钮时,显示的图像应该会旋转。我写了以下代码:
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.widget.ImageView;
public class ImageActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void Rotate()
{
ImageView img = (ImageView)findViewById(R.id.imageView01);
Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.bharath);
// Getting width & height of the given image.
int w = bmp.getWidth();
int h = bmp.getHeight();
// Setting pre rotate to 90
Matrix mtx = new Matrix();
mtx.preRotate(90);
// Rotating Bitmap
Bitmap rotatedBMP = Bitmap.createBitmap(bmp, 0, 0, w, h, mtx, true);
BitmapDrawable bmd = new BitmapDrawable(rotatedBMP);
img.setImageDrawable(bmd);
}
现在当我执行代码并单击按钮旋转图像时,应用程序强制我关闭它,并提到出现意外错误。我无法追踪和纠正。有人可以在这方面帮助我吗?
【问题讨论】:
-
请感谢人们为帮助您所做的努力和accept answers您之前的问题。你没有接受一个答案!
-
你能发布一些来自 logcat 等记录器的异常代码吗?
-
您的按钮在哪里。您从哪个活动调用 Rotate() 方法。
-
我已经从 main.xml 文件中调用了我的 Rotate () 函数
-
12-15 16:53:06.860: I/Process(538): 发送信号。 PID: 538 SIG: 9 12-15 17:03:32.318: E/AndroidRuntime(411): at android.view.View.performClick(View.java:2485) 12-15 17:03:32.318: E/AndroidRuntime( 411): 在 android.os.Handler.dispatchMessage(Handler.java:92) 12-15 17:03:32.318: E/AndroidRuntime(411): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit .java:839) 是我在日志文件中得到的异常。
标签: android