Android评分栏无法在ViewPager中的Lollipop上方错误渲染

时间:2017-09-18 08:38:29

标签: android android-viewpager ratingbar

我在viewpager中制作了ratingbar。当我滑动页面时,这不是问题,但是当我没有滑动它时,评级栏不会显示并变成黑色和蓝色。然后,当我让应用程序在一分钟内保持这样时,应用程序自行关闭。

when i slide it

when i am not slide it

这是代码:

public class Max {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            String str1 = br.readLine();
            String str2 = br.readLine();
            String str3 = br.readLine();

            if(str1.contains(".") && str2.contains(".") && str3.contains(".")){
                double a = Double.parseDouble(str1);
                double b = Double.parseDouble(str2);
                double c = Double.parseDouble(str3);
                max(a,b,c);
            }else{
                int a = Integer.parseInt(str1);
                int b = Integer.parseInt(str2);
                int c = Integer.parseInt(str3);
                max(a,b,c);
            }
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static int max(int a, int b, int c){
        //Max code for integers
    }

    public static double max(double a, double b, double c){
        //Max code for double
    }

}

请帮助我,Thx。

2 个答案:

答案 0 :(得分:0)

我最后一次尝试在我的应用程序中放置一个RatingBar,我也遇到了很多问题,我认为它与设备有关,在我的设备上我会让它看起来不错,但后来在某些设备上如果看起来与你的截图相似。

我最终创建了一个自己的评级栏,实际上很简单,你为一个选定的星创建一个png,为一个未选择的星创建一个png。 然后在布局xml中创建类似的东西,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:minWidth="100dp"
              android:orientation="horizontal">
    <ImageButton
        android:id="@+id/one"
        style="@style/RatingBar.Star"/>
    <ImageButton
        android:id="@+id/two"
        style="@style/RatingBar.Star"/>
    <ImageButton
        android:id="@+id/three"
        style="@style/RatingBar.Star"/>
    <ImageButton
        android:id="@+id/four"
        style="@style/RatingBar.Star"/>
    <ImageButton
        android:id="@+id/five"
        style="@style/RatingBar.Star"/>
</LinearLayout>

风格在哪里:

<style name="RatingBar.Star" parent="EmptyParent">
    <item name="android:layout_width">30dp</item>
    <item name="android:layout_height">30dp</item>
    <item name="android:layout_margin">10dp</item>
    <item name="android:background">@drawable/star_not_selected</item>
    <item name="android:scaleType">fitCenter</item>
    <item name="android:onClick">onStarClicked</item>
</style>

然后,在您的活动中实施一种方法public void onStarClicked(View v),以便在修改背景图像(从0到点击的星形)时捕捉星星点击。

答案 1 :(得分:0)

我不知道默认的RatingBar有什么问题,但我已经解决了,尝试使用这个库https://github.com/ome450901/SimpleRatingBar