Борьба за создание простой формы - PullRequest
0 голосов
/ 07 февраля 2012

Я использовал это от разработчиков Android, но не понимаю, почему это принудительно закрывается:

пакет com.example.shapedrawable.CustomDrawableView;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.OvalShape;
import android.view.View;

public class CustomDrawableViewActivity extends View {
    private ShapeDrawable mDrawable;

    public CustomDrawableViewActivity(Context context) {
    super(context);

    int x = 10;
    int y = 10;
    int width = 300;
    int height = 50;

    mDrawable = new ShapeDrawable(new OvalShape());
    mDrawable.getPaint().setColor(Color.BLUE);
    mDrawable.setBounds(x, y, x + width, y + height);
    }

    protected void onDraw(Canvas canvas) {
    mDrawable.draw(canvas);
    }
    }

1 Ответ

1 голос
/ 07 февраля 2012

Вы не говорите , где это принудительно закрывает, что всегда является полезной информацией, но я предполагаю, что это в этой строке:

mDrawable.getPaint().setColor(Color.BLUE);

getPaint() будет возвращать ноль, пока вы не позвоните setPaint(). Попробуйте это:

Paint paint = new Paint();
paint.setColor(Color.BLUE);
mDrawable.setPaint(paint);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...