0

我从教程网站复制了这段代码,因为我正在尝试学习它。但我在

package com.android.test;
import android.R;
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.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.Spinner;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.ImageView.ScaleType;
public class Rotate extends Activity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         LinearLayout linearLayout = new LinearLayout(this);

   Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);

在最后一行,我收到一个错误,其中“.icon”被写入。它说,“图标无法解析或不是一个字段。”

int 宽度 = bitmap.getWidth(); int height = bitmap.getHeight();

   Matrix matrix = new Matrix();
   matrix.postRotate(90);

   Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0,

宽度,高度,矩阵,真);BitmapDrawable bmd = new BitmapDrawable(rotatedBitmap);

   ImageView imageView = new ImageView(this);
   imageView.setImageDrawable(bmd);
   imageView.setScaleType(ScaleType.CENTER);

   linearLayout.addView(imageView, new LinearLayout.LayoutParams(
     LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
   setContentView(linearLayout);
     }
 }
4

4 回答 4

7

在你的import陈述中,你有

import android.R;

这意味着它将寻找android.R.drawable.icon,而不是R.drawable.iconandroid.R包含 SDK 中所有资产的 ID。访问自己的资产,需要去掉using语句,或者手动写com.your.package.name.R.drawable.icon

于 2010-12-02T21:28:24.853 回答
6

图标有时有效,有时无效。将其更改为“ic_launcher”。这一直有效。这是在“res/drawable-?dpi”下找到的文件名。它是出现在 android 设备上的图标。

像这样:.setIcon(R.drawable.ic_launcher)

于 2012-01-18T12:44:00.093 回答
1

这很可能是因为您的 /res/drawable 文件夹中没有名为 icon.png/icon.bmp/icon.jpg 的图像

因此,将网站上的图像复制到该文件夹​​中应该没问题。

于 2010-12-02T21:29:51.193 回答
0

您必须将调用的图像复制icon.pngres/drawable目录中。

于 2010-12-02T21:28:13.740 回答