获得膨胀线性布局的高度

时间:2013-01-25 10:32:06

标签: android

我正在使用此方法Android: Expand/collapse animation在listview中有一个可扩展的linearlayout。我的listview行有一个带有简短描述的linearlayout,当我点击这个listview时,我调用AsyncTask来获取互联网上的长描述,膨胀行的隐藏线性布局并展开以显示接收到的数据。

问题是,如果我将目标高度设置为正在扩展的隐藏列表视图,一切工作都很完美,但我不知道我将从AsyncTask收到多少数据,所以我需要得到高度膨胀的隐藏线性布局。

我已经尝试过:

在网上阅读一些材料我发现视图在屏幕上绘制后只有一个高度。那么将此高度设置为扩展布局目标的最佳方法是什么?

我正在我的asyncTask的onPostExecute中扩充和扩展布局。

1 个答案:

答案 0 :(得分:1)

考虑将Runnable发布到虚增的视图

final View view = findViewById(R.id.something);
view.post(new Runnable()
    {
        @Override
        public void run() {
            Log.d(TAG, "Height = "+view.getHeight());
        }
    });

此runnable保留在事件队列中,直到视图完全膨胀,因此getHeight()和getWidth()方法返回非零值。 Romain Guy的解释是here