java - 绘制 ImageView

标签 java android

这个领域的新手,希望得到一些帮助。
我有一个"Missile.java" 类,我在那里画东西。我想绘制一个 ImageView,我正在使用以下代码:

ImageView v = (ImageView) findViewById(R.id.missile);
Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.missile_cartoon);
    canvas.drawBitmap(b, 50,50,paint);

但它不是在绘制图像!...
“Missile.java”:(其他的东西正在绘制中)

package com.myfirstapplication.owner.appversion1;

import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Picture;
import android.graphics.drawable.BitmapDrawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;

/**
 * Created by Owner on 16/06/2016.
 */
public class Missile
        extends ImageView {
    Board b;
    public Missile(Context context) {
        super(context);
        //   init(context);
    }

    public Missile(Board b, Context context, AttributeSet attrs) {
        super(context, attrs);
        this.b=b;
    }

    public Missile(Context context, AttributeSet attrs) {
        super(context, attrs);
        //  init(context);
    }


    public Missile(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //  init(context);
    }

    @TargetApi(21)
    public Missile(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        //init(context);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        float x = getWidth();
        float y = getHeight();
        Paint paint = new Paint();
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(Color.parseColor("#CD5C5C"));
        ImageView v = (ImageView) findViewById(R.id.missile);
        Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.missile_cartoon);
        Bitmap bNew = Bitmap.createScaledBitmap(b,250,250,true);
        canvas.drawBitmap(bNew, 50,50,paint);
    }

    @Override
    public void setOnTouchListener(OnTouchListener l) {
        super.setOnTouchListener(l);
        b.addOneCoinsCounter();
    }
}

感谢您的帮助!

最佳答案

我没有正确理解你的问题,但如果你必须将 R.drawable.missile_cartoon 放在 Imageview“v”中,那么

ImageView v = (ImageView) findViewById(R.id.missile);
Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),R.drawable.missile_cartoon);
v.setImageBitmap(bitmap); 

关于java - 绘制 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37877488/

相关文章:

java - 制作具有添加、删除、重置和排序功能的 Jtable

java - 卡塔西斯压制关系链接?

启动 FFmpegFrameGrabber 中的 java.lang.UnsatisfiedLinkError : org. bytedeco.javacpp.avutil

android - 无法添加资源(com.android.aaptcompiler.ParsedResource@4ba9af2)

java - 如何从内存中删除粘性广播?

android - 使用 onRetainNonConfigurationInstance 的替代方法

java - 我怎样才能让eclipse默认为 'deselect working set'

java - 我对同步块(synchronized block)的假设是否正确?

java - 基于运行时对象类型执行方法/代码

php - Android 可以下载任何类型的日历事件吗?如果是这样,文件结构是什么?