تماس با ما

موبایل: 2565 038 0912

دفتر تهران: 2565 2842 021

دفتر گرگان: 2565 3233 017

با کليک بر روي +1 ما را در گوگل محبوب کنيد

 ممکن است بخواهیم که به جای عکس ستاره پیش فرض RatingBar ، عکسی دیگر را انتخاب کنیم و یا اندازه دلخواهی برای آن در نظر بگیریم. در این موارد، باید یک RatingBar سفارشی (Custom RatingBar)) را طراحی کنیم. بنابراین در ادامه، مراحل طراحی را شرح می دهیم.

1- ابتدا باید دو عکس برای دو حالت ستاره به صورت خالی و ستاره به صورت پر را داشته باشیم که قرار است جایگزینی برای عکس های پیش فرض RatingBar معمولی باشند. نام آن دو عکس را به صورت زیر انتخاب می کنیم و آنها را در پوشه drawable پروژه اندروید کپی می کنیم :


ratingbars_star
ratingbars_star_empty
دقت داشته باشید که اندازه عکس ها، در چگونگی نمایش آنها (اندازه آنها) تاثیر دارد (به دلیل ماهیت RatingBar ، معمولا روش های عادی تعیین اندازه برای یک اندازه عکس استفاده شده، جوابگو نیست و مجبوریم که اندازه های عکس ها را به درستی انتخاب کنیم، این مورد معمولا با تجربه به دست می آید. همچنین، قرار دادن اندازه های مختلف عکس در پوشه های drawable مختلف نیز می تواند کمک کند).

2- در پوشه drawable از پروژه اندروید، یک فایل xml با نام ratingstars.xml ساخته و کدهای زیر را در آن می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background"
          android:drawable="@drawable/ratingbars_star_empty" />
    <item android:id="@+android:id/secondaryProgress"
          android:drawable="@drawable/ratingbars_star_empty" />
    <item android:id="@+android:id/progress"
          android:drawable="@drawable/ratingbars_star" />
</layer-list>
3- در فایل styles.xml (که در پوشه values از پروژه اندروید قرار دارد)، باید ، کد style زیر را اضافه می کنیم :


<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/ratingstars</item>
        <item name="android:minHeight">15dp</item>
        <item name="android:maxHeight">15dp</item>
</style>
یعنی مثلا اگر قبلا هیچ style ای در فایل styles.xml تعریف نشده باشد، اکنون باید کدهای آن مشابه کد زیر باشد :


<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/ratingstars</item>
        <item name="android:minHeight">15dp</item>
        <item name="android:maxHeight">15dp</item>
    </style>
    
</resources>
4- در فایل xml متناظر با لایه گرافیکی Activity که RatingBar تعریف شده است، ویژگی زیر را به کدهای xml تعریف RatingBar اضافه می کنیم :


style="@style/CustomRatingBar"
یعنی مثلا کل کدهای xml مربوط به RatingBar می تواند مشابه کد زیر باشد :


<RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    style="@style/CustomRatingBar"  
    android:numStars="5"
    android:stepSize="1.0"
    android:isIndicator="false"
    android:rating="0.0" />
در کد مثال بالا، در صورت تمایل می توانید مشخصه layout_height را برابر wrap_content انتخاب کنید یا عدد در نظر گرفته شده برای آن را مطابق مورد مناسب برای خود تغییر بدهید.

نکته
گاهی دیده شده که با استفاده از روش بالا و هنگامی که مشخصه layout_height برای تگ RatingBar را برابر یک عدد بزرگتر از ارتفاع لازم برای نمایش عکس ستاره (عکس جدید) انتخاب می کنیم، در زیر RatingBar ، تکراری از آخرین ردیف پیکسل های عکس مربوط به RatingBar را مشاهده خواهیم کرد. این مشکل، به دلیل ماهیت ساختاری RatingBar است و کافی است که در عکس به کار رفته (هر دو عکس)، یک یا دو ردیف آخر از پیکسل های عکس را به صورت کاملا شفاف در بیاوریم (عکس از نوع png باشد) تا تکرار آنها، هیچ تاثیری در خروجی نداشته باشد.


سفارش طراحی سایت

سفارش طراحی سایت

google
yahoo
alexa
ebook
Baidu.com
Wikipedia
Blogger.com
Windows Live
Amazon.com
eBay
Bing
Ask
استانداری گلستان
f shdj, sefaresh, sefaresh .net, sefaresh.net, sthva, sthva nhj kj, sthva.kj, stthva.kj, xvhpd, آیفون, استفاده, اندروید, اپل, اپلیکیشن, اینترنت, باتری, بازار, دستگاه, دوربین, سامسونگ, سفارش, سفارش دات نت, سفارش دات نت sefaresh.net, سفارش.نت, سیستم, طراح وب, طراحي وب سايت, طراحی, طراحی وب سایت, فناوری, فیسبوک, مایکروسافت, موبایل, هوشمند, کاربران, کمپانی, گلکسی, گوشی, گوشی هوشمند, گوگل

نمایش تمامی تگ ها
بسته ویژه مدارس مدارس
بسته ویژه پزشکان پزشکان
بسته ویژه مهندسین مهندسین