در برخی از برنامه ها ما نیاز داریم تا کاربر گزینه ای را از لیست انتخاب نماید ولی به خاطر زیاد بود گزینه های لیست بهتره این امکان رو به کاربر دهیم تا برنامه پس از وارد کردن کلمه ای از عبارت مورد نظر لیست مشابه ای از یافته ها را نشان دهد تا کاربر از بین آن انتخاب نمایید یا اینکه جستجوی خود را تکمیل تر کند برای همین بهترین گزینه استفاده از ویدجت AutoCompleteTextView است در زیر با نحوه استفاده از AutoCompleteTextView در یک مثال آشنا خواهیم شد.

آشنایی با AutoCompleteTextView در Xamarin
height=”284″ />
مراحل ایجاد ویدجت AutoCompleteTextView در ویژوال استادیو

  1. یک پروژه جدید به نام HelloAutoComplete ایجاد نمایید
  2. یک فایل XML یا یک فایل axml در قسمت Resources\Layout\ ایجاد نمایید مزیت فایل XAML در این است که شما محیط Design را دارید و با تسلط بهتر میتوانید طراحی خود را انجام دهید این همان آیتم های این ویدجت AutoCompleteTextView است . فایلی با نام list_item ایجاد نمایید و کدهای زیر را در آن قرار دهید در صورتی که نیاز دارید تا آیتم های شخصی خود را داشته باشید مثل تصویر در کنار متن می توانید این فایل را تغییر دهید.

    <?xml version="1.0" encoding="utf-8" ?>
            <TextView xmlns:android="http://schemas.android.com/apk/res/android"
                      android:layout_width="fill_parent"
                      android:layout_height="fill_parent"
                      android:padding="10dp"
                      android:textSize="16sp"
                      android:textColor="@android:color/background_light" />
  3. فایل Main.axml را باز کنید و کدهای زیر را در آن قرار دهید

    <?xml version="1.0" encoding="utf-8" ?>
            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                          android:orientation="horizontal"
                          android:layout_width="fill_parent"
                          android:layout_height="fill_parent"
                          android:padding="5dp"
                          android:background="@android:color/background_light"
                          android:gravity="right">
                <AutoCompleteTextView android:id="@+id/autocomplete_country"
                          android:layout_width="250dp"
                          android:layout_height="wrap_content"
                          android:textColor="@android:color/background_dark"
                          android:layout_marginRight="5dp" />
                <TextView android:layout_width="50dp"
                          android:layout_height="wrap_content"
                          android:text="کشور :"
                          android:textColor="@android:color/background_dark"
                          android:layout_marginRight="10dp" />
            </LinearLayout>
  4. فایل MainActivity.cs را باز کنید و کدهای مورد نظر را در قسمت OnCreate قرار دهید

    using System;
            using Android.App;
            using Android.Widget;
            using Android.OS;
    
            namespace App3
            {
               [Activity(Label = "App3", MainLauncher = true, Icon = "@drawable/icon")]
                public class MainActivity : Activity
                 {
                    protected override void OnCreate(Bundle bundle)
                     {
                        base.OnCreate(bundle);
                        SetContentView(Resource.Layout.Main);
                        AutoCompleteTextView textView = FindViewById<AutoCompleteTextView>(Resource.Id.autocomplete_country);
                        var adapter = new ArrayAdapter<String>(this, Resource.Layout.XMLFile1, COUNTRIES);
                        textView.Adapter = adapter;
                     }
                }
            }
                    

خوب مراحل کار خیلی سادست فقط کافی یک منبع از داده را از طریق خصوصیت Adapter به AutoCompleteTextView از نوعی که نیاز دارید تزریق نمایید که در این مثال از نوع رشته ای است در آموزشهای بعدی به شما نشان خواهم داد که چگونه یک ArrayAdapter سفارشی برای خود ایجاد نمایید و از آن استفاده نمایید خوب هنوز کار به پایان نرسیده تعریف لیستی از اسامی کشورها که فقط کافیست قطعه کد زیر را به بالای برنامه اضافه نمایید

static string[] COUNTRIES = new string[] {
  "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
  "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
  "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
  "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
  "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
  "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
  "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
  "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
  "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
  "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
  "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic",
  "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
  "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
  "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
  "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
  "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
  "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
  "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
  "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
  "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
  "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
  "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
  "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
  "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
  "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
  "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
  "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
  "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
  "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
  "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
  "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
  "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
  "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
  "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
  "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
  "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
  "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
  "Ukraine", "United Arab Emirates", "United Kingdom",
  "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
  "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
  "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
};

و در آخر برنامه را اجرا نمایید تا خروجی را مشاهده کنید
آشنایی با Auto Complete در Xamarin
شما می توانید سورس برنامه بالا را از اینجا دریافت نمایید . این مطلب گرفته شده از سایت Xamarin است.

منبع : developer.xamarin.com
25 پست
محمدزاده
سابقه 10 ساله برنامه نویسی مایکروسافت شامل C# , WPF , ASP.Net , Asp.Net Mvc و چند سال اندروید کار کردم تا اینکه زامارین دست به کار شد الان 3 ساله برنامه های اندرویدم رو با ویژوال استادیو مینویسم و لذت میبرم و دوست دارم این لذت رو با دیگران شریک باشم
برچسب ها: , , , , , , , ,
مطالب مرتبط
مطالب نویسنده
مطالب مشابه
مونو اندروید Relative Layout در زامارین | روز ۷ یکشنبه ۱۷ آبان ۱۳۹۴
مونو اندروید Linear Layout در زامارین | روز ۶ یکشنبه ۱۷ آبان ۱۳۹۴
دیدگاه کاربران

برای نوشتن دیدگاه میتوانید به حساب کاربری خود وارد شوید ورود ارسال نظر بصورت مهمان
ارسال نظر (مهمان):