gpt4 book ai didi

android - 自定义 RatingBar 在 api 23 上显示不同数量的星星

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:04 24 4
gpt4 key购买 nike

在 xml 文件中设置 RatingBar 并将 android:drawableProgress 设置为我创建的自定义可绘制对象时(如 here 所述),它在 api 22 的 android studio 预览屏幕中显示 5 颗星,但是当我将 api 目标设置为api 23 它显示 1 星,但评级栏 (android:width="wrap_content") 的宽度与 5 星的宽度相同。这也在使用 Lollipop 和 marshmallow OS 的手机上进行了检查(与描述的行为相同)。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/spacing_standard"
android:orientation="vertical"
android:background="@color/sfly_orange"
android:fillViewport="true">


<com.shutterfly.android.commons.common.ui.TypefacedTextView
android:id="@+id/thank_you_label_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/order_confirmation_thank_you"
android:textColor="@android:color/white"
android:textSize="@dimen/rate_app_text_size_largest"
android:gravity="center"
app:typeface="medium"
android:layout_marginTop="@dimen/spacing_standard"/>

<ImageView
android:layout_width="@dimen/rate_app_image_width"
android:src="@drawable/rate_icon"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/rate_app_spacing_standard"
android:layout_height="@dimen/rate_app_image_height"/>

<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/rate_app_spacing_standard">

<com.shutterfly.android.commons.common.ui.TypefacedTextView
android:id="@+id/order_number_label_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
app:typeface="medium"
android:text="@string/order_confirmation_order_number_label"
android:textColor="@android:color/white"
android:textSize="@dimen/rate_app_text_size_normal"/>

<com.shutterfly.android.commons.common.ui.TypefacedTextView
android:id="@+id/order_number_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
app:typeface="medium"
android:layout_marginTop="@dimen/spacing_standard"
android:textColor="@android:color/white"
android:textSize="@dimen/rate_app_text_size_larger"/>

<com.shutterfly.android.commons.common.ui.TypefacedTextView
android:id="@+id/order_confirmation_details_label_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/order_confirmation_details_label"
android:layout_marginTop="@dimen/spacing_standard_large"
android:textAlignment="center"
android:lineSpacingExtra="@dimen/rate_app_text_line_spacing"
android:gravity="center"
app:typeface="oblique"
android:textColor="@android:color/white"
android:textSize="@dimen/rate_app_text_size_normal"
tools:ignore="UnusedAttribute"/>


<RatingBar
android:id="@+id/rate_app_rating_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/rate_app_spacing_standard"
android:numStars="@integer/rating_bar_number_of_stars"
android:stepSize="@integer/rating_bar_step"
android:minHeight="@dimen/button_height"
android:maxHeight="@dimen/button_height"
style="?android:attr/ratingBarStyle"
android:layout_gravity="center"
android:progressDrawable="@drawable/rating_bar_star_style"/>
</LinearLayout>


<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:layout_marginTop="@dimen/rate_app_spacing_standard">

<com.shutterfly.android.commons.common.ui.TypefacedTextView
android:id="@+id/rate_app_button"
android:layout_width="@dimen/button_width"
android:layout_height="@dimen/button_height"
android:gravity="center"
android:background="@drawable/button_white_background"
android:paddingLeft="@dimen/spacing_standard"
android:paddingRight="@dimen/spacing_standard"
android:text="@string/rate_shutterfly"
android:textAllCaps="true"
android:textColor="@color/sfly_orange"
android:textSize="@dimen/rate_app_text_size_normal_larger"
app:typeface="medium"/>

<com.shutterfly.android.commons.common.ui.TypefacedButton
android:id="@+id/return_to_store_button"
android:layout_width="@dimen/button_width"
android:layout_height="@dimen/button_height"
android:paddingLeft="@dimen/spacing_standard"
android:layout_marginTop="@dimen/spacing_standard"
android:layout_gravity="bottom|center_horizontal"
android:paddingRight="@dimen/spacing_standard"
android:text="@string/order_confirmation_return_to_store"
style="?android:attr/borderlessButtonStyle"
android:textAllCaps="true"
android:textColor="@color/white"
android:textSize="@dimen/rate_app_text_size_normal"
app:btnTypeface="medium"
android:layout_marginBottom="@dimen/spacing_standard"
android:background="@drawable/button_orange_background"/>

</LinearLayout>

</LinearLayout>

When api 23 it shows 1 star When api 22 and below it shows 5 stars

最佳答案

可能默认的 numStars 值已更改。

当我在 xml 文件中设置它时,它工作正常。

<RatingBar
...
numStars="5" />

这也可能是布局问题,如果 wrap_content 没有足够的空间来显示 5 星。也许你有 Api 23 的限定符?如果不是,并且对 <23 岁的人来说效果很好,请不要介意。

关于android - 自定义 RatingBar 在 api 23 上显示不同数量的星星,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38043042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com