آموزش برنامه نویسی اندروید فصل سوم
آموزش اندروید فصل سوم قسمت دهم – ProgressBar
تیر ۱۱, ۱۳۹۵
آموزش برنامه نویسی اندروید فصل سوم
آموزش اندروید فصل سوم قسمت دوازدهم – TimePicker و DatePicker
تیر ۱۳, ۱۳۹۵
آموزش برنامه نویسی اندروید فصل سوم

آموزش برنامه نویسی اندروید فصل سوم

در قسمت بیست و نهم آموزش اندروید اشیا چیننده که شامل TimePicker و DatePicker و شی بسیار کاربردی AutoCompeleteTextView را آموزش داده ایم.

آموزش اندروید فصل سوم قسمت یازدهم – ابزار نمایش

توجه : برای مشاهده تصاویر در سایز اصلی برروی آنها کلیک کنید.

ابزار نمایش AutoCompleteTextView

ابزار نمایش AutoCompleteTextView یک ابزار شبیه EditText است(زیر مجموعه این ابزار است)تنها تفاوت آن لیستی از گزینه های حدس زده توسط اندروید میباشد که در هنگام تایپ کاربر برای راحتی کار کاربر نمایش داده میشود.تمرین زیر این مفهوم را قابل درک تر میکند.

پروژه جدیدی به نام View3Prj ایجاد کرده و در محیط activity_main.xml ابزار های TextView و AutoCompeleteTextView را مطابق عبارات زیر اضافه میکنیم

<TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Name of City" />



    <AutoCompleteTextView

        android:id="@+id/txtCity"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"/>

سپس در فایل MainActivity.java نیز چنین کدنویسی میکنیم

package com.example.view3prj;



import android.os.Bundle;

import android.app.Activity;

import android.widget.ArrayAdapter;

import android.widget.AutoCompleteTextView;



public class MainActivity extends Activity {



        String[] city ={

                           "Shiraz",

                           "Esfahan",

                           "Tehran",

                           "Yazd",

                           "Ahvaz",

                           "Mashhad",

                           "Mazandaran",

                           "Marvdasht"

        };



        @Override

        protected void onCreate(Bundle savedInstanceState) {

                 super.onCreate(savedInstanceState);

                 setContentView(R.layout.activity_main);



                 ArrayAdapter<String> adapter = 
new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, city);

                 AutoCompleteTextView tv = 
(AutoCompleteTextView)findViewById(R.id.txtCity);

                 tv.setThreshold(3);

                 tv.setAdapter(adapter);

        }

}

حال میتوان برنامه را اجرا کرده و نتیجه را مطابق شکل زیر ببینید

آموزش کاربردی اندروید-قسمت بیست و نهم

روش کار

در کلاس برنامه ابتدا یک ارایه رشته ای که شامل نام های چندین شهر میباشد را به صورت زیر ایجاد میکنیم

       String[] city ={

                           "Shiraz",

                           "Esfahan",

                           "Tehran",

                           "Yazd",

                           "Ahvaz",

                           "Mashhad",

                           "Mazandaran",

                           "Marvdasht"

        };

شی ArrayAdapter آرایه ای را که باید در AutoCompeleteTextView نمایش داده شود را کنترل میکند در این مثال این ابزار طوری تنظیم شده که به صورت simple_dropdown_item_1line نمایش داده میشود

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, city);

متد ()setThreshold مشخص کننده حداقل کاراکتری است که کاربر باید بنویسید تا منو کلمات حدس زده توسط اندروید نمایش داده شود

tv.setThreshold(3);

گزینه های این حدس از طریق شی ArrayAdapter دریافت میگردد

tv.setAdapter(adapter);

استفاده از ابزارهای نمایش چیننده

انتخاب تاریخ و زمان یکی از کارهای متدوال در گوشی های موبایل است.اندروید این کاررا به وسیله ابزارهای TimePicker و DatePicker که در ادامه با آنها آشنا خواهیم شد انجام میدهد.

ابزار نمایش TimePicker

این ابزار نمایش به کاربر این امکان را میدهد تا بتواند زمانی را براساس AM یا PM انتخاب کند. برای درک بیشتر به مثال زیر دقت فرمایید.

پروژه جدیدی به نام View4Prj ایجاد کرده که بسیار ساده و کارآمد میباشد و تنها مقادیر ساعت و دقیقه ای را که کاربر تنظیم کرده را توسط کلاس Toast نمایش میدهد پس در بخش xml آن ابزار های Button و TimePicker را مطابق زیر اضافه میکنیم

<TimePicker

            android:id="@+id/timePicker"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"/>



        <Button

            android:id="@+id/btnSet"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignLeft="@+id/timePicker"

            android:layout_below="@+id/timePicker"

            android:layout_marginTop="22dp"

            android:onClick="onClick"

            android:text="I am all Set" />

حال میتوان برنامه را اجرا کرده و نتیجه را دید اما برای زیبایی کار و کارآمد بودن ما در فایل جاوا برنامه برای نمایش پیغام مناسب چنین کدنویسی میکنیم

package com.example.view4prj;



import android.os.Bundle;

import android.app.Activity;

import android.view.View;

import android.widget.Toast;

import android.widget.TimePicker;



public class MainActivity extends Activity {
 TimePicker tp;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);



 tp= (TimePicker)findViewById(R.id.timePicker);

 tp.setIs24HourView(true);

}

 public void onClick(View view)

 {

 Toast.makeText(getBaseContext(), "Time Selected: " +
 tp.getCurrentHour() + ":" + tp.getCurrentMinute(), Toast.LENGTH_SHORT).show();

 }

حال میتوان برنامه را اجرا کرده و نتیجه را مطابق شکل زیر مشاهده کنید

آموزش کاربردی اندروید-قسمت بیست و نهم

روش  کار

 ابتدا با متد ()findViewById توسط مقدار Id تعیین شده برای ابزار TimePicker به آن اشاره میکنیم و از این به بعد هنگام استفاده از متغیر tp که ازنوع TimePicker تعریف شده درواقع داریم به ابزار TimePicker دسترسی پیدا میکنیم

 tp= (TimePicker)findViewById(R.id.timePicker);

به صورت عادی این ابزار زمان را در قالب AM\Pm نمایش میدهد حال اگر مایلید زمان در قالب ۲۴ساعت درآید متد ()setIs24HourView را فراخوانی میکنیم .

برای اینکه در زمان اجرا زمان وارد شده توسط کاربر را دریافت کنیم از متدهای ()getCurrentHour و ()getCurrentMinute استفاده میکنیم

Toast.makeText(getBaseContext(), "Time Selected: " +
 tp.getCurrentHour() + 
":" + tp.getCurrentMinute(), Toast.LENGTH_SHORT).show();

متد ()getCurrentHour همیشه زمان را در قالب ۲۴ ساعت برمیگرداند.

مدرس : خانم مهندس داودی نژاد

آموزش اندروید فصل سوم قسمت دهم

آموزش اندروید فصل سوم قسمت دوازدهم

 

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *