为什么MeasuredHeight始终为0,如何获得该值?

戴夫·德夫

我正在尝试将动画应用于折叠LinearLayout。此动画取决于LinearLayout的MeasuredHeight属性,该属性的值大于0,但该值始终为0。

这是我正在使用的代码:

    public void Collapse()
    {
        var v = FindViewById<LinearLayout>(Resource.Id.layoutBranding);
        int initialHeight = v.MeasuredHeight; // always 0!!

        var a = new MyAnimation(v, initialHeight);

        a.Duration = (int)(initialHeight / v.Context.Resources.DisplayMetrics.Density);
        v.StartAnimation(a);
    }

其中MyAnimation定义为:

公共类MyAnimation:动画{私有只读View _view; 私有只读int _initalHeight;

    public MyAnimation(View view, int initalHeight)
    {
        _view = view;
        _initalHeight = initalHeight;
    }

    protected override void ApplyTransformation(float interpolatedTime, Transformation t)
    {
        if (interpolatedTime == 1)
        {
            _view.Visibility = ViewStates.Gone;
        }
        else
        {
            _view.LayoutParameters.Height = _initalHeight - (int) (_initalHeight*interpolatedTime);
            _view.RequestLayout();
        }
    }

    public override bool WillChangeBounds()
    {
        return true;
    }
}
达斯达

尝试这个:

v.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);


int initialHeight = v.MeasuredHeight; 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得该对象中的值?

来自分类Dev

如何获得该相邻元素中的值?

来自分类Dev

为什么在链接单击上进行jquery / ajax调用时无法获得该值?

来自分类Dev

(OMNeT ++)为什么PacketQueue始终为0?

来自分类Dev

为什么我无法获得该字段的注释?

来自分类Dev

为什么从bash中的局部声明之后的函数返回的值始终为0?

来自分类Dev

成员函数的生命周期可变,值始终重置为“ 0”,为什么?

来自分类Dev

为什么从bash中的局部声明之后的函数返回的值始终为0?

来自分类Dev

为什么SPARC或MIPS的%r0始终为0?

来自分类Dev

为什么动态添加的图像的offsetWidth始终为0

来自分类Dev

为什么$#在我的函数中始终为0?

来自分类Dev

为什么我的轨迹栏的值始终为-1

来自分类Dev

为什么我的布尔值始终为真?

来自分类Dev

为什么尽管损失衰减并且评估结果合理,但张量流的``准确性''值始终为0

来自分类Dev

为什么有三种方法可以在Git中获得该手册?

来自分类Dev

始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器没有将其设置为默认值?

来自分类Dev

始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器未将其设置为默认值?

来自分类Dev

Java:如果始终在释放锁之前调用notify(),那么正在等待的线程如何获得该相同的锁?

来自分类Dev

为什么将视频输出始终设置为30 fps,但将其设置为其他值?

来自分类Dev

如何使用硒来获得该指数?

来自分类Dev

我们如何获得该价值?

来自分类Dev

如何获得该程序以允许输入小数?

来自分类Dev

如何使用硒来获得该指数?

来自分类Dev

我如何获得该网站的IP地址?

来自分类Dev

如何在“街道号”列中获得该项目以及“乘员”中的最小值?

来自分类Dev

为什么当捆绑mMap获得此值时,为什么Bundle中的getExtra()为null?

来自分类Dev

为什么PrinterState始终为null?

来自分类Dev

为什么nvidia的glXChooseFBConfig始终为NULL

来自分类Dev

为什么UWP ApplicationPageBackgroundThemeBrush始终为白色?

Related 相关文章

  1. 1

    如何获得该对象中的值?

  2. 2

    如何获得该相邻元素中的值?

  3. 3

    为什么在链接单击上进行jquery / ajax调用时无法获得该值?

  4. 4

    (OMNeT ++)为什么PacketQueue始终为0?

  5. 5

    为什么我无法获得该字段的注释?

  6. 6

    为什么从bash中的局部声明之后的函数返回的值始终为0?

  7. 7

    成员函数的生命周期可变,值始终重置为“ 0”,为什么?

  8. 8

    为什么从bash中的局部声明之后的函数返回的值始终为0?

  9. 9

    为什么SPARC或MIPS的%r0始终为0?

  10. 10

    为什么动态添加的图像的offsetWidth始终为0

  11. 11

    为什么$#在我的函数中始终为0?

  12. 12

    为什么我的轨迹栏的值始终为-1

  13. 13

    为什么我的布尔值始终为真?

  14. 14

    为什么尽管损失衰减并且评估结果合理,但张量流的``准确性''值始终为0

  15. 15

    为什么有三种方法可以在Git中获得该手册?

  16. 16

    始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器没有将其设置为默认值?

  17. 17

    始终设置* {margin:0; padding:0}是一个好主意吗?如果是这样,为什么浏览器未将其设置为默认值?

  18. 18

    Java:如果始终在释放锁之前调用notify(),那么正在等待的线程如何获得该相同的锁?

  19. 19

    为什么将视频输出始终设置为30 fps,但将其设置为其他值?

  20. 20

    如何使用硒来获得该指数?

  21. 21

    我们如何获得该价值?

  22. 22

    如何获得该程序以允许输入小数?

  23. 23

    如何使用硒来获得该指数?

  24. 24

    我如何获得该网站的IP地址?

  25. 25

    如何在“街道号”列中获得该项目以及“乘员”中的最小值?

  26. 26

    为什么当捆绑mMap获得此值时,为什么Bundle中的getExtra()为null?

  27. 27

    为什么PrinterState始终为null?

  28. 28

    为什么nvidia的glXChooseFBConfig始终为NULL

  29. 29

    为什么UWP ApplicationPageBackgroundThemeBrush始终为白色?

热门标签

归档