Кто-нибудь пытался написать собственную реализацию 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);
}
}