آموزش کار با RatingBar در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش کار با RatingBar در برنامه نویسی اندروید می پردازیم از Ratingbar برای گرفتن نظر یا rate دادن به برنامه استفاده می شود در ادامه با ما همراه باشید تا نحوه استفاده از آن را یاد بگیرید.
ابتدا وارد Layout ی که می خواهید در آن RatingBar را قرار دهید شده سپس کد زیر را به آن اضافه کنید.
1 2 3 4 5 6 7 | <RatingBar android:id="@+id/ratingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="4" android:rating="1" android:progressTint="#ff0000"/> |
انداره آن را خودتان تنظیم کنید شاید کل صفحه را بگیرد.
در بالا ما یک id برای RatingBar خود درنظر گرفتیم سپس اندازه طول و عرض آن را مشخص کرده ایم و بعد از آن numstars تعداد ستاره هایی را که می خواهیم تنظیم می کند در اینجا برابر با چهار است پس چهار ستاره نمایش داده می شود و ویژگی بعدی rating برای انتخاب شدن (پر شدن ) RatingBar استفاده می شود الان در اینجا برابر با یک است پس یکی ستاره ها پر می شود اگر برابر چهار باشد چهار تا از آنها پر می شود و برای اینکه رنگ ستاره ها را تغییر دهیم از ویژگی progressTint استفاده کرده ایم
و حالا وارد بخش کد جاوا برنامه شوید بعد از Oncreate کد زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 | RatingBar rb = (RatingBar)findViewById(R.id.ratingBar); rb.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Toast.makeText(MainActivity.this, "مقدار انتخاب شده : "+rating, Toast.LENGTH_SHORT).show(); if(rating==4) { Toast.makeText(MainActivity.this, "Thanks to much ! programchi.ir", Toast.LENGTH_SHORT).show(); } } }); |
ابتدا مثل همیشه RatingBar خودمان را FindViewByid کردیم این کار برای پیدا کردن آن RatingBar یا یکم بیشتر به صورت تخصصی به دست آوردن View آن شئی است.
بعد از آن برای کنترل اینکه کاربر چه مقدار از ستاره ها انتخاب می کند از setOnRatingBarChangeListener یعنی هر زمانی که در RatingBar تغییر ایجاد شود ما می تونیم بروی آن کنترل داشته باشیم.
و در پایینترم هم یک void برای ما ایجاد می شود که سه ورودی دارد اولی ratingBar که برای کنترل برای خود RatingBar استفاده می شود (مثلا خاموش و روشن کردن RatingBar و کلی امکانات دیگر) و rating مقدار ستاره ای را که کاربر انتخاب کرده است برای ما بر می گرداند و اخری یا fromUser که از نوع boolean است مقدار True یا False را بر می گرداند اگر کاربر بروی آن کلیک کند True و در غیر این صورت False خواهد بود.
این آموزش هم به پایان رسید.
موفق باشید.
سلام
من توی برنامم ی ریساکل ویو دارم و واسه ایتم های ک داخل ریسایکل نشون میده ریتنیگ بار قرار دادم ک ریتینگ رو میگیره داخل دیتا بیس سمت سرور ذخیره میکنم حالا من موندم چجوری امتیاز کلی ک توی دیتا بیس ذخیره شده دوباره توی ریتینگ بار نشون بدم یا چجوری تر تیب قرار گیری ایتم ها رو بر اساس امتیازش تو ریسایکل نشون بدم لطفا راهنمایم کنید
مرسی
سلام و دورد
ببیند Rating bar یک مقدار بر می گردونه شما باید هر آیتمون یک آیدی منحصر به فرد داشته باشید تا براساس اون دوباره set را انجام دهید . یعنی براساس یک query خاص یا یک آیدی منحصر به فردی که از سرور برمیگرده این رو تنظیم کنید و ست کردن دیتا هم که کاری نداره مثل زیر
موفق باشید.
ممنون از سایت خوبتون
مشکلم حل شد
خواهش می کنم موفق باشید.