片段onCreateView时无法获取TextView的高度

时间:2012-07-02 08:08:59

标签: android fragment

我有一个包含TextView调用的Fragment作为mTextView。我希望在片段的onCreateView中将内容附加到它之后获得mTextView的高度,如下所示:

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        final View view = inflater.inflate(
                R.layout.myfragment, container, false);

        mTextView = (TextView) view.findViewById(R.id.myTextView);
               int mHeight=mTextView.getHeight();

 }

但它总是返回0值。

3 个答案:

答案 0 :(得分:0)

你试图在

之后得到它吗?
setContentView(R.layout.your_layout); 

正确?

答案 1 :(得分:0)

如果你试图在onCreate之后获得高度,你将无法获得,因为窗口仍然没有聚焦。试试这样:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    // your code here
    int mHeight=mTextView.getHeight();
}

答案 2 :(得分:0)

View的尺寸为0的原因是因为当您查询它们时,视图仍然没有执行布局和测量步骤。您只告诉视图它在布局中如何“行为”,但它仍然没有计算放置每个视图的位置。

虽然有一些技巧可以达到这个尺寸。你可以用这个问题作为起点,虽然我不太喜欢接受的答案的方法。

How to get the width and height of an android.widget.ImageView?