TextView引力

时间:2010-11-10 15:22:14

标签: android

是否有人尝试使用其中的一些TextView编写自己的 ViewGroup 实现?

我遇到一个问题,这种实现中的TextViews不尊重重力属性TextView.setGravity(Gravity.CENTER),文本位于左上角。

任何人都可以帮我找出原因吗?

修改

确定。没关系,我已经把它弄清楚了。

如果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);  
    }

}

2 个答案:

答案 0 :(得分:3)

这只是你试图设置错误属性的错误行为。

使用TextView.setGravity(Gravity.CENTER)设置TextView内容的重力。

您要找的是layout_gravity

答案 1 :(得分:0)

我知道这是一篇真正的老帖子,但我在工作中找到了解决这个难题的答案。你可以在这里阅读。

TextView inside RelativeLayout in custom View not applying Gravity correctly