С Android SDK 1.1 r1
, есть ли способ изменить звездочное изображение класса виджетов RatingBar
с моим собственным? Это вообще возможно? Если да, то как?
Спасибо.
С Android SDK 1.1 r1
, есть ли способ изменить звездочное изображение класса виджетов RatingBar
с моим собственным? Это вообще возможно? Если да, то как?
Спасибо.
Короткий ответ: похоже, это возможно в техническом плане. Самый простой способ - создать свой собственный RatingBar, основанный на исходном коде RatingBar (более элегантным будет extend
orignal RatingBar в свой собственный). Оттуда вам также нужно будет создать свой собственный стиль RatingBar, используя исходный XML-источник RatingBar в качестве примера (или наследующий и расширяющий оригинальный стиль RatingBar).
Источник доступен с git на сайте developer.android.com.
Я подозреваю, что создание собственной рейтинговой панели не рекомендуется, поскольку оно противоречит постоянному взгляду ОС.
Не уверен в 1.1, но с 1.6 и более поздними версиями вы можете просто расширить стиль Widget.RatingBar
и переопределить свойства, отвечающие за звездообразные чертежи (в values/styles.xml
):
<style name="myRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/my_ratingbar_full</item>
<item name="android:indeterminateDrawable">@drawable/my_ratingbar_full</item>
</style>
Нет необходимости подкласса RatingBar, просто передайте ему этот стиль с атрибутом style:
<RatingBar style="@style/myRatingBar" ... />
Загрузите исходники и посмотрите на ratingbar_full.xml в основной выпадающей папке, чтобы посмотреть, что положить в my_ratingbar_full
.
Вы можете найти более полную версию этого здесь: Как создать панель пользовательских рейтингов в Android