Что с Canvas в TextVIew?

Рейтинг: 0Ответов: 1Опубликовано: 19.01.2015
package com.example.test;

public class MyActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    MyTextView myTextView= (MyTextView) findViewById(R.id.myTextView);
    myTextView.setText("DDSdasdaddadasdasadasaas");

}
}
package com.example.test;

public class MyTextView extends TextView {
    private Paint paint;

    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        paint=new Paint();
        paint.setColor(Color.GREEN);
        paint.setStyle(Paint.Style.STROKE);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawRect(0,0,getWidth(),getHeight(),paint);
        super.onDraw(canvas);
    }
}

Почему так получилось?

asd

  1. Я понимаю, что там с размером что-то не то, но почему же TextView больше, чем Canvas?
  2. Это глюк?

Ответы

▲ 1

Не уверен, но попробуйте вместо Paint.Style.STROKE использовать Paint.Style.FILL
Вроде Paint.Style.STROKE как раз рисует только контур (обводку), но не заполняет его.

П. С. Картинки под спойлер не прячутсся тут.
Можете заливать их на левые хостинги, и сюда сбрасывать только ссылки, например