Has anyone tried to write his own implementation of ViewGroup with some TextViews in it?
I have a problem, that TextViews in such an implementation don't respect the gravity property TextView.setGravity(Gravity.CENTER)
and text is positioned in the top left corner.
Can anyone help me find out why?
EDIT:
Ok. nevermind, I figured it out on my own already.
If enyone is interested, I just overwrote method onMeasure()
(for all my TextViews) and changed call from super.onMeasure()
to setMeasuredDimension(int, int)
and gravity started to work normally.
Basically, in my custom layout I use the following class to display text:
private static class GravityTextView extends TextView {
public GravityTextView(Context context) {
super(context);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);
}
}
This is not the wrong behavior you are just trying to set the wrong property.
With TextView.setGravity(Gravity.CENTER)
you are setting the gravity of the TextView's content.
What you are looking for is the layout_gravity
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With