گروه کامپیوتر دانشگاه آزاد

اساتید و دانشجویان دانشگاه آزاد اسلامی

گروه کامپیوتر دانشگاه آزاد

اساتید و دانشجویان دانشگاه آزاد اسلامی

بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِیمِ
زکات علم، نشر آن است. گروه کامپیوتر دانشگاه آزاد با هدف خدمت به دانش آموزان ، دانشجویان و آنهایی که علاقه به برنامه نویسی و طراحی و کلیه امور تخصصی کامپیوتر دارند با هدف نشر علم خدمت رسانی کند امید است کاربران در جهت تحقق این اهداف والا یار و همدم ما باشند . . .

آخرین نظرات

به نام خدا.در این جلسه می خواهیم با سیک بار (SeekBar) در برنامه نویسی اندروید اشنا بشیم،در مواقعی که داریم یک برنامه اندرویدی تولید میکنیم نیاز میشه که اندازه فونت و یا اندازه تصویر و صدای محیطی برنامه تغییر داده بشه در این مواقع  نیاز برنامه نویس به سیک بار احساس میشه.در این اموزش ما با نحوه ایجاد و استفاده مناسب از SeekBar رو به شما یاد خواهیم داد.

کار با سیک بار در اندروید

برای شروع کار یک پروژه جدید به نام Seekbar ایجاد میکنیم و بروی لایه برنامه از دو ابزار استفاده خواهیم کرد.یکی از این ابزار ها Seekbar و دیگری نیز یک تکست ویو TextVIew خواهد بود.وظیفه که برای سیک بار تعریف می کنیم اینه که:وقتی نوار سیک بار رو حرکت میدیم اندازه فونت و یا اندازه تکست ویو تغییر پیدا کنه.(در زیر کدهای بخش activity_main.xml و یا لایه برنامه رو مشاهده می کنید)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >



<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="43dp" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/seekBar1"
android:layout_centerHorizontal="true"
android:layout_marginTop="108dp"
android:text="Learn Android UnitAzad.Ir" />

</RelativeLayout>

بعد از تکمیل کردن لایه برنامه میریم سراغ کد نویسی جاوا و فایل MainActivity.java.در این بخش ابتدا تکست ویو (TextView) و سیک بار(Seekbar) رو با دستور فینال معرفی می کنیم تا مقدارشون ثابت بشه.سپس به سیک بار یک رویداد SeekBarChangeListener اضافه میکنیم تا وقتی  که سیک بار شروع به کار کرد اندازه تکست ویو رو تغییر بده.بعد از معرفی رویداد باید یک مقدار عددی به برنامه اضافه کنیم تا اندازه فونت رو از 0 تا 30 برای ما تغییر بده.در ادامه باید یک شرط به سیک بار اضافه کنیم،که به برنامه بگه (اگر مقدار int کوچکتر از30 بود  کارهای خاصی رو برای ما انجام بده).این کار خواص میتونه هر دستوری باشه مثلا یک توست(Toast).در این جا ما داخل شرط گفتیم که فونت سایز رو 30 قرار بده و هنگامی که سیک بار درحال حرکت هست مقدار اون رو با فونت سایز هماهنگ کن.(در زیر کدهای کامل بخش MainActivity.java رو می بینید.) 

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//معرفی تکست ویو همراه با فینال تا مقدارش ثابت بشه
final TextView t1=(TextView) findViewById(R.id.textView1);

//معرفی سک بار همراه با فینال تا مقدارش ثابت بشه
final SeekBar sk=(SeekBar) findViewById(R.id.seekBar1);

//معرفی یک رویداد چنج لیسنر برای سیک بار
sk.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

//تعریف یک متغییر عددی
int fontSize=0;

@Override
//معرفی رویداد توقف
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
//معرفی یک شرط برای رویداد توقف
if(fontSize<30)
{
//مقدار دهی برای فونت سایز تا عدد 30
fontSize=30;
//ست کردن سیک بار با مقدار int
sk.setProgress(fontSize);
}
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
// TODO Auto-generated method stub

//برابر کردن مقدار سیک بار با فونت سایز
fontSize=progress;

//و در اخر ست کردن مقدار فونت سایز بروی تکست ویو
t1.setTextSize(fontSize);
}
}); 
}
}

حال پروژه تمام شده می توانید برنامه خود را اجرا کنید

دانلود فایل Apk پروژه سیک بار                      دانلود سورس پروژه سیک بار

نظرات (۳)

بسیار عالی .. خیلی ممنون از مدیریت سایت
سلام
خیلی خوب بود ولی اگه من بخوام این کد رو تو کلاس تنظیمات بنویسم و آدرس تکست ویو یی که تو کلاس فهرست هست بهش بدم که ارورر میده.لطفا کمکم کنید؟
ممنونم
این سایت عالیه یکی از جاهایی که برایپیداکردن کد بهش سر میزنم این سایته و نوشتن توضیح برای هر خط کار بسیار عالییه
پاسخ:
با عرض سلام دمت شما دوست عزیز ممنون نظر لطفتونه تغییرات پیشرفته تری باید بدیم ولی با اینکه از ما تعریف کردید ممنونیم لطفا نقاط ضعفمان را هم بفرمائید تا بتوانیم برای مردم ایرانیان عزیز مفید واقع شویم .
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی