Применение матрицы в Android

#android #matrix

#Android #матрица

Вопрос:

Я хочу применить матрицу к текстовому представлению. Я могу применить матрицу к onDraw методу

 @Override
    protected void onDraw(Canvas canvas) {
        Paint paint = new Paint();
        paint.setColor(Color.WHITE);
        paint.setStyle(Paint.Style.FILL);
        canvas.drawPaint(paint);
        paint.setColor(Color.BLACK);
        paint.setTextSize(20);

       //transform is the matrix
        canvas.drawBitmap(textAsBitmap("0ps", 26, Color.RED), transform, paint);

    }


    public Bitmap textAsBitmap(String text, float textSize, int textColor) {
        Paint paint = new Paint(ANTI_ALIAS_FLAG);
        paint.setTextSize(textSize);
        paint.setColor(textColor);
        paint.setTextAlign(Paint.Align.LEFT);
        float baseline = -paint.ascent(); // ascent() is negative
        int width = (int) (paint.measureText(text)   0.5f); // round
        int height = (int) (baseline   paint.descent()   0.5f);
        Bitmap image = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(image);
        canvas.drawText(text, 0, baseline, paint);
        return image;
    }
  

Но проблема в том, что, если перевод больше, чем размер представления, тогда невозможно увидеть перевод. если представление имеет matchparent размерность, то проблем нет, оно работает правильно.

введите описание изображения здесь

если перевод больше, чем на белом экране, он не может его увидеть

Комментарии:

1. Что вы подразумеваете под «транзакцией»?

2. @gus42: объем перевода в определенном направлении

3. Если ваш вид меньше, чем то, что вы в нем рисуете, очевидно, что он не виден. Итак, каков ваш желаемый результат?

4. если я установлю setTranslationX(10) и setTranslationY(10), я смогу увидеть текст, если он равен 100, я не смогу его увидеть. только если представление соответствует родительскому. есть ли какой-либо способ получить этот результат, не делая родительский просмотр совпадающим, потому что у меня есть и другой вид. мне нужно событие щелчка в приведенном ниже макете. если это представление является родительским по математике, я не могу получить событие щелчка в приведенных ниже представлениях, что проблема

5. Увеличьте свой вид. Помимо родительского соответствия есть несколько других возможностей — в зависимости от макета, который вы используете в своей деятельности / фрагменте.