有人尝试过自己编写带有一些TextView的ViewGroup实现吗?
我遇到了一个问题,这样实现中的TextViews不会遵循gravity属性TextView.setGravity(Gravity.CENTER)
,文本被定位在左上角。
有人能帮我找出原因吗?
编辑:
好的。没关系,我已经自己解决了。
如果有人感兴趣,我只是重写了onMeasure()
方法(对于我所有的TextView),并将调用从super.onMeasure()
更改为setMeasuredDimension(int, int)
,gravity就开始正常工作了。
基本上,在我的自定义布局中,我使用以下类来显示文本:
private static class GravityTextView extends TextView {
public GravityTextView(Context context) {
super(context);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);
}
}