Я сочувствовал вашему распознаванию проблемы и не понял этого явления, но после тестирования кажется, что исходные координаты сохраняются даже при повороте фигуры. Это связано с тем, что даже если вращение выполняется снова, вращение выполняется с использованием исходного значения координаты. Если вы искусственно выровняете положение, координаты появятся соответственно. Я проверил это следующим образом.
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
Короткий ответ, похоже, что это технически возможно. Самый легкий путь состоял бы в том, чтобы создать Ваш собственный RatingBar на основе исходного кода RatingBar (более изящный, будет к extend
orignal RatingBar в Ваше собственное). Оттуда необходимо было бы также создать собственный стиль RatingBar с помощью исходного источника RatingBar xml как пример (или наследовавшись и расширив исходный стиль RatingBar).
Источник является доступным wtih мерзавцем по developer.android.com.
я подозреваю, что созданию Вашей собственной панели оценки препятствуют, так как это идет вразрез с последовательным стилем ОС.
Не уверен насчет 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