Android:分级栏不可见,仅在触摸时可见

Android:分级栏不可见,仅在触摸时可见,android,android-5.0-lollipop,android-4.4-kitkat,ratingbar,Android,Android 5.0 Lollipop,Android 4.4 Kitkat,Ratingbar,在我的Android应用程序中,分级栏不可见。它只有在触摸它时才可见,当我把手指拿开时就消失了 我的代码: <RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/myratingStars" android:layout_gravity="cente

在我的Android应用程序中,分级栏不可见。它只有在触摸它时才可见,当我把手指拿开时就消失了

我的代码:

<RatingBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/myratingStars"
            android:layout_gravity="center_horizontal|center_vertical|center"
            android:numStars="5"/>

它不会在棒棒糖仿真器/real phone/Android Studio设计窗口(API 23模式)中渲染,但会在KitKat仿真器和Android设计窗口(API 15模式)中渲染

完整布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="24dp"
        android:orientation="vertical">
        <RatingBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/myratingStars"
            android:layout_gravity="center_horizontal|center_vertical|center"
            android:numStars="5"/>
        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.v7.widget.AppCompatEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="16sp"
                android:maxLines="10"
                android:id="@+id/myratingTxt"
                android:layout_marginTop="12dp"
                android:layout_marginBottom="2dp"
                android:hint="@string/write_review"/>
        </android.support.design.widget.TextInputLayout>

        <android.support.v7.widget.AppCompatButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/submitReview"
            android:text="@string/review_submit"
          android:layout_gravity="center_horizontal|center|center_vertical"
            android:textColor="@color/white"
            android:onClick="submitReview"
            android:layout_marginTop="8dp"
            tools:visibility="visible"/>
    </LinearLayout>

</LinearLayout>

如果没有所有的布局文件,就不可能解决这个问题,但如果只发生在棒棒糖或棉花糖中,可能会出现海拔问题。尝试设置为分级栏“标高:10dp”

根据谷歌代码上的问题,尝试将该行添加到分级栏中属性:

android:isIndicator="true"
style="?android:attr/ratingBarStyleIndicator"
或者可能是其中的一些风格:

style="?android:attr/ratingBarStyle"


正如你所看到的,谷歌开发人员并没有给出答案,所以我不知道为什么会出现这种奇怪的行为,但也许这会有所帮助

经过一番研究,我的运气终于好了!!!终于找到了解决办法

添加这些属性来拯救我的生命

android:progressBackgroundTint="@color/colorAccent"
android:progressTint="@color/colorAccent"
android:secondaryProgressTint="@color/colorAccent"
例如:

<android.support.v7.widget.AppCompatRatingBar
        android:id="@+id/ratingBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:progressBackgroundTint="@color/colorAccent"
        android:progressTint="@color/colorAccent"
        android:secondaryProgressTint="@color/colorAccent"
        android:rating="4" />

您可以根据需要更改这些颜色

额外信息:

android:progressTint用于实际进度颜色

android:secondaryProgressTint用于二级进度,即选择部分评级时,使用此属性表示另一半颜色

android:progressBackgroundTint用于其余评级,表示5分之3,所以最后2分将这一分着色


快乐编码!!吃喝机器人!;)

对我来说,最有效的方法就是玩弄小部件的高度。当它太大时,小部件就无法在视觉上显示。

可能是一些视图覆盖了它。或者颜色与背景相同。你知道为什么会发生这种情况吗?我也有同样的问题。不!令人沮丧的是:(你有没有试着给一个固定的高度和宽度…?试着设置一个固定的高度和宽度
android:progressBackgroundTint="@color/colorAccent"
android:progressTint="@color/colorAccent"
android:secondaryProgressTint="@color/colorAccent"
<android.support.v7.widget.AppCompatRatingBar
        android:id="@+id/ratingBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:progressBackgroundTint="@color/colorAccent"
        android:progressTint="@color/colorAccent"
        android:secondaryProgressTint="@color/colorAccent"
        android:rating="4" />