Подтвердить что ты не робот

Тяжесть TextView

Кто-нибудь пытался написать собственную реализацию ViewGroup с некоторыми TextViews в нем?

У меня проблема, что TextViews в такой реализации не учитывают свойство гравитации TextView.setGravity(Gravity.CENTER), а текст помещается в верхнем левом углу.

Может ли кто-нибудь помочь мне узнать, почему?

EDIT:

Ok. Я никогда не думал об этом, я уже сам это понял.

Если enyone заинтересован, я просто перезаписал метод onMeasure() (для всех моих TextViews) и изменил вызов с super.onMeasure() на setMeasuredDimension(int, int), и гравитация начала нормально работать.

В принципе, в моем пользовательском макете я использую следующий класс для отображения текста:

private static class GravityTextView extends TextView {  

    public GravityTextView(Context context) {  
        super(context);  
    }

    @Override  
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {  
        setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);  
    }

}
4b9b3361

Ответ 1

Это неправильное поведение, которое вы просто пытаетесь установить неверное свойство.

С помощью TextView.setGravity(Gravity.CENTER) вы устанавливаете плотность содержимого TextView.

Что вы ищете, это layout_gravity.