2011-12-15 4 views
0

とレイアウトにカスタムコントロールを追加
< ImageViewの アンドロイド:ID = "@ + ID/login_loadingimage"
          アンドロイド:layout_width = "wrap_content"
     XMLによってImageViewのは、私はこれをやっているだろう  アンドロイド:layout_height = "wrap_content"
          アンドロイド:layout_centerHorizo​​ntal = "true" を
          アンドロイド:layout_centerVertical = "true" を
          アンドロイド:SRC =」 @ drawable/imagefilename "
          a ndroid:visibility = "invisible"
/>
Monodroid:プログラムにより私が追加した場合、私は(。ImageViewのは、コードによってRelativeLayoutのない追加される)</p> <p>プログラム添加RelativeLayout内部ImageViewのを持って水平および垂直センタリング

しかし、今私はこれをプログラム的にしたいと思っています。センタリング権を得るにはどうすればいいですか?私は例外が、私はとにかくViewGroup.LayutParametersにこれらLayoutParametersを適用する方法を知ることはできませんまた、1行目にスローされます

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(this, null); //[1] 
p.AddRule(...);[2] 

を使用して作成WHE私はRelativeLaout.Parametersを作成しようとしたがてきました。


1. ViewGroup.LayoutParametersを作成することはできません。1.必要なセンタリング(水平および垂直)要素がないようです。
2.すべての例では、単にLayout_WidthとLayout_Heightをパラメータとして取るコンストラクタが存在するが、存在しないことを示しているようです。

誰かが最初にレイアウトを追加する前に、レイアウトの中心をコード内に配置する方法を教えてください。ありがとう。

助けてください。それを行うには

答えて

3

方法は簡単です:

は、あなただけのコンポーネントの必要XAMLを作成 - レイアウトフォルダにファイルを置きます。

その後(次のようにLayoutInflatorを作成してください)あなたが欲しいのコード内のコントロールを膨らませるために膨張サービスを使用します。

LayoutInflater _inflatorservice = (LayoutInflater)this.GetSystemService(Context.LayoutInflaterService); 

その後、単にこの呼び出し:

_inflatorservice.Inflate(Resource.Layout.[control], parent); 

を、ボブあなたの母親の兄弟です!

+0

誰にもこの回答にお答えしてくれてありがとうございます! –

関連する問題