gpt4 book ai didi

android - TextView 的自定义布局和重力(水平重力有效但垂直失败)

转载 作者:搜寻专家 更新时间:2023-11-01 08:58:51 25 4
gpt4 key购买 nike

我们在使用以下 View 时遇到问题。 TextView 的引力应该将其文本水平和垂直居中,但文本只是水平居中并粘在顶部。怎么了?

public class TestLayout extends ViewGroup {
private TextView textView;

public TestLayout(Context context, AttributeSet attrs) {
super(context, attrs);

textView = new TextView(context);
textView.setText("Hello world.");
textView.setGravity(Gravity.CENTER);
addView(textView);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
textView.layout(0, 0, r - l, b - t);
}
}

最佳答案

我们找到了解决方案。我们需要对布局的子项调用 measure()

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
textView.measure(widthMeasureSpec, heightMeasureSpec);
}

关于android - TextView 的自定义布局和重力(水平重力有效但垂直失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com