Проблема с объединением autoSizeText многих TextViews в один размер - PullRequest
0 голосов
/ 15 июня 2019

Я хочу создать разделенное действие со многими текстовыми представлениями, размеры которых будут заполнять свободное пространство.Я пытаюсь справиться с этим в Java и Android Studio.

Я пытался установить их атрибуты autoTextSize в макете, но для разной длины слов их размеры различны - несмотря на одинаковое пространство.Я пытался стандартизировать размеры шрифта с помощью функции, написанной ниже.

private void standardizeTheFontSize() {
    TextView[] textViewsArray =
            {
                    findViewById(R.id.menu_module1), findViewById(R.id.menu_module2),
                    findViewById(R.id.menu_module3), findViewById(R.id.menu_module4),
                    findViewById(R.id.menu_module5), findViewById(R.id.menu_module6),
                    findViewById(R.id.menu_module7), findViewById(R.id.menu_module7_1)
            };

    float textSize = ((TextView)findViewById(R.id.textView_menu)).getTextSize();
    findViewById(R.id.textView_menu).measure(0,0);
    int height = findViewById(R.id.textView_menu).getMeasuredHeight();
    for (TextView textView : textViewsArray) {
        textSize = (textView.getTextSize() < textSize) ? textView.getTextSize() : textSize;
        textView.measure(0,0);
        height = (textView.getMeasuredHeight() < height)?textView.getMeasuredHeight():height;
    }

    for (TextView textView : textViewsArray) {
        textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
        textView.setHeight(height);
    }
}

Моя идея хороша, но с некоторыми плохими условиями, или я должен попробовать другой способ - возможно, есть более простое решение:)

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