Как изменить звездообразные изображения RatingBar?

Я сочувствовал вашему распознаванию проблемы и не понял этого явления, но после тестирования кажется, что исходные координаты сохраняются даже при повороте фигуры. Это связано с тем, что даже если вращение выполняется снова, вращение выполняется с использованием исходного значения координаты. Если вы искусственно выровняете положение, координаты появятся соответственно. Я проверил это следующим образом.

Sub Measure()
Dim rngT As Range
Dim sp As Shape
Set sp = ActiveSheet.Shapes("Measurement")

'MsgBox (sp.Top & "//" & sp.Left)
Set rngT = Range("k" & Rows.Count).End(xlUp).Offset(1, 0)
rngT = sp.Top
rngT.Offset(, 1) = sp.Left
End Sub

Sub test()
    Dim sp As Shape
    Dim Ws As Worksheet
    Dim vDB
    Dim i As Integer, t As Single, l As Single
    Dim r As Integer
    vDB = Range("k2", Range("L" & Rows.Count).End(xlUp))

    Set Ws = ActiveSheet
    r = UBound(vDB, 1)
    For i = 1 To r
        t = vDB(i, 1)
        l = vDB(i, 2)
        Set sp = Ws.Shapes.AddShape(msoShapeRectangle, l, t, 10, 10)
    Next i


End Sub
28
задан Nikhil 30 June 2012 в 11:34
поделиться

2 ответа

Короткий ответ, похоже, что это технически возможно. Самый легкий путь состоял бы в том, чтобы создать Ваш собственный RatingBar на основе исходного кода RatingBar (более изящный, будет к extend orignal RatingBar в Ваше собственное). Оттуда необходимо было бы также создать собственный стиль RatingBar с помощью исходного источника RatingBar xml как пример (или наследовавшись и расширив исходный стиль RatingBar).

Источник является доступным wtih мерзавцем по developer.android.com.

я подозреваю, что созданию Вашей собственной панели оценки препятствуют, так как это идет вразрез с последовательным стилем ОС.

8
ответ дан Will 28 November 2019 в 02:52
поделиться

Не уверен насчет 1.1, но с 1.6 и более поздними версиями вы можете просто расширить стиль Widget.RatingBar и переопределить свойства, которые отвечают за рисование звездочкой (в значения / стили.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" ... /> 

Загрузите исходные коды Android и просмотрите файл ratingbar_full.xml в основной папке с возможностью переноса, чтобы узнать, что поместить в my_ratingbar_full .

Вы можете найти более полную версию этого здесь: Как создать панель пользовательских оценок в Android

56
ответ дан 28 November 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: