在 Lollipop 上的 InfoWindow 中呈现 RatingBar
Rendering a RatingBar within an InfoWindow on Lollipop
我在 InfoWindow 内呈现的布局中有一个 RatingBar。
在 KitKat 及以下版本中,它呈现良好。
在 Lollipop 上,InfoWindow 为 RatingBar 呈现一个空 space:
布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/infowindow_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:text="Venue Name Some More Text This Should Wrap Properly"
android:textColor="@android:color/primary_text_light"
android:textSize="20sp" />
<TextView
android:id="@+id/infowindow_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/infowindow_name"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:text="Type - Cuisine"
android:textColor="@android:color/primary_text_light"
android:textSize="15sp" />
<RatingBar
android:id="@+id/infowindow_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_below="@+id/infowindow_type"
android:numStars="5"
android:rating="3.75" />
<TextView
android:id="@+id/infowindow_norating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/infowindow_rating"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:text="@string/infowindow_no_rating_yet"
android:textColor="@android:color/primary_text_light"
android:textSize="20sp" />
有解决此问题的想法吗?我认为这取决于 InfoWindow 呈现为视图的静态表示的方式,并且 Lollipop 中发生了一些变化。
我找到了解决方法 - 您需要将 RatingBar 上的样式显式设置为 ratingBarStyleIndicator:
<RatingBar
android:id="@+id/infowindow_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_below="@+id/infowindow_type"
android:numStars="5"
android:rating="3.75"
android:isIndicator="true"
style="?android:attr/ratingBarStyleIndicator"
/>
我假设在使用 Canvas.Draw Custom InfoWindows
渲染 Lollipop 时绕过了一些 RatingBar 初始化
我很感兴趣地等待错误报告的结果。
我在 InfoWindow 内呈现的布局中有一个 RatingBar。
在 KitKat 及以下版本中,它呈现良好。
在 Lollipop 上,InfoWindow 为 RatingBar 呈现一个空 space:
布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/infowindow_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:text="Venue Name Some More Text This Should Wrap Properly"
android:textColor="@android:color/primary_text_light"
android:textSize="20sp" />
<TextView
android:id="@+id/infowindow_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/infowindow_name"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:text="Type - Cuisine"
android:textColor="@android:color/primary_text_light"
android:textSize="15sp" />
<RatingBar
android:id="@+id/infowindow_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_below="@+id/infowindow_type"
android:numStars="5"
android:rating="3.75" />
<TextView
android:id="@+id/infowindow_norating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/infowindow_rating"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:text="@string/infowindow_no_rating_yet"
android:textColor="@android:color/primary_text_light"
android:textSize="20sp" />
有解决此问题的想法吗?我认为这取决于 InfoWindow 呈现为视图的静态表示的方式,并且 Lollipop 中发生了一些变化。
我找到了解决方法 - 您需要将 RatingBar 上的样式显式设置为 ratingBarStyleIndicator:
<RatingBar
android:id="@+id/infowindow_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_below="@+id/infowindow_type"
android:numStars="5"
android:rating="3.75"
android:isIndicator="true"
style="?android:attr/ratingBarStyleIndicator"
/>
我假设在使用 Canvas.Draw Custom InfoWindows
渲染 Lollipop 时绕过了一些 RatingBar 初始化我很感兴趣地等待错误报告的结果。