获取ObtainStyledAttributes以在Android的xamarin中正常工作

青春须早为,岂能长少年。这篇文章主要讲述获取ObtainStyledAttributes以在Android的xamarin中正常工作相关的知识,希望能为你提供帮助。
我正在Xamarin.android中构建一个自定义控件,作为该控件初始化的一部分,我想要读取控件的指定高度。
我想使用ObtainStyledAttributes,因为它为我提供了一种方法,可以轻松地将字符串尺寸转换为尺寸。
所以我打电话给:

context.ObtainStyledAttributes(attrs, new int [] { problemhere })

我遇到的问题是我不知道如何为layout_height指定常量(这是我想要提取的参数)。当我查看Xamarin文档时,它声明有一个Resource.Attribute.LayoutWidth const定义,但我不能在我的源代码中引用它。
我知道我也可以使用getAttributeValue()作为字符串,但它不会转换。
有任何想法吗?
答案【获取ObtainStyledAttributes以在Android的xamarin中正常工作】您正在寻找Android操作系统级资源:
int[] attrsArray = { Android.Resource.Attribute.LayoutWidth, Android.Resource.Attribute.LayoutHeight }; var typedArray = context.ObtainStyledAttributes( attrsArray); var layout_width = typedArray.GetDimensionPixelSize(0, ViewGroup.LayoutParams.WrapContent); var layout_height = typedArray.GetDimensionPixelSize(1, ViewGroup.LayoutParams.WrapContent);


    推荐阅读