Я хочу создать разделенное действие со многими текстовыми представлениями, размеры которых будут заполнять свободное пространство.Я пытаюсь справиться с этим в 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);
}
}
Моя идея хороша, но с некоторыми плохими условиями, или я должен попробовать другой способ - возможно, есть более простое решение:)