Xamarinandroidスピナーの使用方法



How Use Xamarin Android Spinner



protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle) // Set our view from the 'main' layout resource SetContentView(Resource.Layout.Main) Spinner spinner1 = (Spinner)FindViewById(Resource.Id.spin_status) string[] myWeb = new string[] {'Xiangkeke', 'Xiangkeke.com', 'Xiangkeke blog' } ArrayAdapter adapter = new ArrayAdapter(this,Android.Resource.Layout.SimpleSpinnerItem,myWeb) spinner1.Adapter = adapter }
xamarin androidスピナーの使用方法は?ほとんどのWeb開発者は、DropDownListおよびComboboxドロップダウン選択ボックスをよく耳にします。スピナーの意味は似ています。 「ドロップダウンリスト」、「台湾SP」、「ドロップダウンリストコンポーネント」、「微調整制御」を意味する辞書があります。 xamarin androidで、このスピナーの使用法を習得するための簡単な例をいくつか作成しました

スピナーの関連プロパティ:

  • android:dropDownHorizo​​ntalOffset :リストボックスの水平オフセット距離を設定します
  • android:dropDownVerticalOffset :リストボックスの水平距離と垂直距離を設定します
  • android:dropDownSelector :リストボックスを選択したときの背景
  • android:dropDownWidth :ドロップダウンリストボックスの幅を設定します
  • android:gravity :内部のコンポーネントの配置を設定します
  • アンドロイド:popupBackground :リストボックスの背景を設定します
  • android:prompt :ダイアログモードでリストボックスのプロンプト情報(タイトル)を設定します。これは、string.xmlのリソースIDのみを参照でき、文字列を直接書き込むことはできません。
  • android:spinnerMode :リストボックスのモード。2つのオプション値があります。 ダイアログ :ダイアログスタイルのウィンドウ 落ちる :ドロップダウンメニュースタイルウィンドウ(デフォルト)
  • オプションの属性: android:entries :配列リソースを使用して、ドロップダウンリストボックスのリストアイテムを設定します
1.最も基本的な使用法の1つは、デフォルトのSimpleSpinnerItemスタイルであるArrayAdapterデータソースを使用してデータをバインドします

レンダリングを見てください:




AndroidのデフォルトのSimpleSpinnerItemスタイルが使用されているため、すぐに醜い感じになります。

レイアウトページにスピナーコントロールを追加します。



Free Egg Guest Xiangkeke.com Idle Egg Guest Blog

ArrayAdapterを使用してデータをスピナーにバインドします

using System using System.Collections.Generic using System.Linq using System.Text using Android.App using Android.Content using Android.OS using Android.Runtime using Android.Views using Android.Widget using Java.Lang namespace SpinnerDemo.Resources.Adapter { public class Xiandnake { public int Icon { get set } public string Web { get set } public Xiandnake(int icon ,string web) { this.Icon = icon this.Web = web } } public class MyAdapter:BaseAdapter { private List data private Context context public MyAdapter(Context context, List data) { this.context = context this.data = data } public override int Count { get { return data.Count } } public override Java.Lang.Object GetItem(int position) { return null } public override long GetItemId(int position) { return position } public override View GetView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null if (convertView == null) { convertView = LayoutInflater.From(context).Inflate(Resource.Layout.spinner_item_xiandanke, null) holder = new ViewHolder() holder.Img_icon = convertView.FindViewById(Resource.Id.img_icon) holder.Tv_Web = convertView.FindViewById(Resource.Id.tv_web) convertView.Tag = holder } else { holder = (ViewHolder)convertView.Tag } holder.Tv_Web.Text = data[position].Web holder.Img_icon.SetImageResource(data[position].Icon) return convertView } } public class ViewHolder:Java.Lang.Object { public ImageView Img_icon { get set } public TextView Tv_Web { get set } } } コードはほとんどありません。スピナーの最も基本的な使用法はこれです。もちろん、string []データはXmlファイルに書き込むこともできます。次に、体験を書きます。

まず、エントリ属性をレイアウトファイルに追加します

using System using Android.App using Android.Content using Android.Runtime using Android.Views using Android.Widget using Android.OS using SpinnerDemo.Resources.Adapter using System.Collections.Generic namespace SpinnerDemo { [Activity(Label = 'SpinnerDemo', MainLauncher = true, Icon = '@drawable/icon')] public class MainActivity : Activity { int count = 1 protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle) SetContentView(Resource.Layout.Main) List data = new List() data.Add(new Xiandnake(Resource.Id.img_icon,'Free Egg Guest')) data.Add(new Xiandnake(Resource.Id.img_icon, 'Free Egg Guest Blog')) data.Add(new Xiandnake(Resource.Id.img_icon, 'Xiangdanke earning')) MyAdapter adapter = new MyAdapter(this,data) Spinner spinner = (Spinner)FindViewById(Resource.Id.spinner_xiandanke) spinner.SetSelection(2) //Set the default selection spinner.Adapter = adapter spinner.ItemSelected += delegate { //int index = spinner.SelectedItemId int position = spinner.SelectedItemPosition Toast.MakeText(this, 'Your choice is' + data[spinner.SelectedItemPosition].Web, ToastLength.Short).Show() } } } }

xmlファイルを作成します。



 Activityのデータをバインドするコードを記述しないでください。結果が同じかどうか見てみましょう。 spinnerModeによって表示される2つのモード、ダイアログとドロップダウンがあることに注意してください(デフォルトはこれです) 

効果は以前のSimpleSpinnerItemのデフォルトのスタイルよりも少し優れているようですが、結局のところ、どちらもデフォルトでは醜いですよね。このとき、自分でレイアウトを作成する必要があります。

カスタムレイアウトを使用して、Spinnerのデータソースをバインドします。

上記のarray.xmlファイルが書き込まれているので、上記を使用してください。次に、spin_item_xiandanke.xmlを記述します
データアダプターMyAdapter.csがより一般的です
|_+_|

アクティビティ内のデータのバインド、MainActivity.cs

例を書いた後、私は突然イノベーションがないと感じました。このMyAdapterは精査する価値があり、自分でより良いものを作ることができます。私は恥ずかしい。ダウンロードリンクは引き続き送信されます。 http://download.csdn.net/detail/kebi007/9675791 

著者:張琳

タイトル:Xamarin Androidスピナーの使用方法元のアドレス: http://blog.csdn.net/kebi007/article/details/53055881

ランダムに転載されたソースを示します







転載:https://www.cnblogs.com/zhangmumu/p/7374794.html