центрирование compundDrawable без установки границ и размеров холста? - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть код для установки compundDrawable рядом с textView

Я использовал для задания границ объекта рисования и размера холста - потому что я хочу, чтобы объект рисования располагался вертикально по центру textView, но на 1dp ниже центра.

//    Bitmap dimensions sets the canvas dimensions
//     Bitmap bitmap =
//        Bitmap.createBitmap(
//            getContext()
//                .getResources()
//                .getDimensionPixelSize(R.dimen.account_menu_collapse_expand_width),
//            getContext()
//                .getResources()
//                .getDimensionPixelSize(R.dimen.account_menu_collapse_expand_canvas_height),
//            Bitmap.Config.ARGB_8888);
//
//     Canvas canvas = new Canvas(bitmap);

    // Drawable bounds should be all 4 coordinates on the canvas to draw on.
    // This implies the drawable width and height.
    drawableWithTint.setBounds(
        0,
        getContext()
            .getResources()
            .getDimensionPixelSize(R.dimen.account_menu_collapse_expand_top_padding),
        canvas.getWidth(),
        canvas.getHeight()
            - getContext()
                .getResources()
                .getDimensionPixelSize(R.dimen.account_menu_collapse_expand_top_padding));
    // drawableWithTint.draw(canvas);

    TextViewCompat.setCompoundDrawablesRelative(targetTextView, null, null, drawable, null);
    // Padding between text and drawable
    targetTextView.setCompoundDrawablePadding(
        getContext()
            .getResources()

Я пытаюсь сделать это без установки границ и размера.

Могу ли я сделать это, не зная высоты textView? так как текстовое содержимое может быть крупным шрифтом, и тогда текстовое представление будет выше.

...