Изменить высоту GradientDrawable в качестве фона текстового просмотра программно - PullRequest
0 голосов
/ 28 июня 2018

Я изменяю высоту GradientDrawable с помощью setBounds ().

Я получил хорошую форму для моего текстового обзора.

но высота textview тоже была изменена.

что я могу сделать, только сделать выше для фигуры?

изображение

private Drawable getTagBackground(int iColor, final int iTextViewWidth, final int iTextViewHeight) {
    final float RATIO_SHAPE_WIDTH = 1.5f;
    final float RATIO_SHAPE_HEIGHT = 2.3f;
    final int STROKE_WIDTH = 3;
    final float CORNER_RADIUS = 40f;

    GradientDrawable gd = new GradientDrawable() {
        @Override
        public int getIntrinsicWidth() {
            return (int)(super.getIntrinsicWidth() * RATIO_SHAPE_WIDTH);
        }

        @Override
        public int getIntrinsicHeight() {
            return (int)(super.getIntrinsicHeight() * RATIO_SHAPE_HEIGHT);
        }
    };
    gd.setShape(GradientDrawable.RECTANGLE);
    gd.setSize(iTextViewWidth, iTextViewHeight);
    gd.setColor(Color.TRANSPARENT);
    gd.setStroke(STROKE_WIDTH, iColor);
    gd.setCornerRadius(CORNER_RADIUS);
    //gd.setBounds(0, 0, iTextViewWidth, iTextViewHeight * 2);

    return gd;
}

1 Ответ

0 голосов
/ 28 июня 2018

Простым решением было бы иметь ImageView позади вашего TextView и вносить изменения высоты в этом ImageView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...