Raj*_*ena 14 android ratingbar android-4.4-kitkat android-5.0-lollipop
在我的Android应用中,ratingbars不可见.它只有在触摸它时才会变得可见,一旦我脱下手指就会消失.
我的代码:
<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"/>
Run Code Online (Sandbox Code Playgroud)
它不会在Lollipop模拟器/真实手机/ 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>
Run Code Online (Sandbox Code Playgroud)
根据谷歌代码上的这个问题,尝试将这些行添加到您的RatingBar
属性:
android:isIndicator="true"
style="?android:attr/ratingBarStyleIndicator"
Run Code Online (Sandbox Code Playgroud)
或者可能是一些风格:
style="?android:attr/ratingBarStyle"
Run Code Online (Sandbox Code Playgroud)
要么
style="android:attr/ratingBarStyleSmall"
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样谷歌开发者没有答案,所以我不知道为什么会出现这种奇怪的行为,但也许它会有所帮助.
经过一些研究尝试了我的运气,它的确有效!终于找到了解决方案!
添加这些属性以挽救我的生命!
android:progressBackgroundTint="@color/colorAccent"
android:progressTint="@color/colorAccent"
android:secondaryProgressTint="@color/colorAccent"
Run Code Online (Sandbox Code Playgroud)
例:
<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" />
Run Code Online (Sandbox Code Playgroud)
您可以根据需要更改这些颜色!
额外信息:
android:progressTint用于实际进度颜色
android:secondaryProgressTint用于辅助进度,当选择的部分评级表示使用此属性着色的另一半的一半时.
android:progressBackgroundTint用于评级的其余部分说3分满满5分,所以最后2分为这一分!
快乐的编码!! 吃安卓饮料!;)
归档时间: |
|
查看次数: |
2740 次 |
最近记录: |