2

我有一个片段,其中包含作为 mTextView 的 TextView 调用。我想在 Fragment 的 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 值。

4

3 回答 3

0

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

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    // your code here
    int mHeight=mTextView.getHeight();
}
于 2012-07-02T08:18:48.823 回答
0

你尝试得到它之后

setContentView(R.layout.your_layout); 

正确的?

于 2012-07-02T08:12:34.597 回答
0

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

不过,有一些技巧可以得到这个尺寸。尽管我不太喜欢接受的答案的方法,但您可以将此问题作为起点。

如何获取 android.widget.ImageView 的宽度和高度?

于 2012-07-02T08:44:15.610 回答