2017-12-21 5 views
1

Xamarin.Androidにカスタムコントロールを作成しています。コントロールの初期化の一環として、コントロールの指定された高さを読み取る必要があります。Android用のxamarinで正しく動作するようにObtainStyledAttributesを取得する

ObtainStyledAttributesを使用したいのは、文字列の寸法を寸法に簡単に変換できるためです。

だから私は呼ん:

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

私がいる問題は、私は(これは私が抽出するために探していたパラメータである)layout_heightための定数を指定する方法がわからないです。 Xamarinのドキュメントでは、Resource.Attribute.LayoutWidth constが定義されていますが、私のソースコードでは参照できません。

getAttributeValue()を文字列として取得することもできますが、それは変換されません。

アイデア?

答えて

1

あなたはAndroid OSレベルのリソースを探しています:

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); 
+0

ありがとう!ちょうど私が必要なもの。 –

関連する問題