Android评分栏无法设置小数值

时间:2015-10-23 06:59:54

标签: android ratingbar

我正在尝试将评级栏的初始评级设置为浮动值。但输出总是完全充满星星!我不知道为什么会这样。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    ratingText = (TextView) findViewById(R.id.rating);
    ratingBar = ((RatingBar) findViewById(R.id.ratingBar1));
    ratingBar.setRating(Float.parseFloat("3.5"));
    ((RatingBar) findViewById(R.id.ratingBar1))
            .setOnRatingBarChangeListener(this);

}

这是评级栏:

<RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:stepSize="0.5"
    android:layout_marginLeft="22dp"
    android:layout_marginTop="28dp" />

3 个答案:

答案 0 :(得分:0)

您正在设置stepSize =&#34; 0.5&#34;。你应该把它改成0.1。

答案 1 :(得分:0)

尝试通过编程方式这样做

ratingBar = ((RatingBar) findViewById(R.id.ratingBar1));
ratingBar.setStepSize(0.5f);
ratingBar.ratingBar.setNumStars(5);
ratingBar.ratingBar.setMax(5);
ratingBar.setRating(Float.parseFloat("3.5"));

答案 2 :(得分:0)

您只需删除项目中的工具栏即可。我认为工具栏中存在一些问题。我尝试如下,它的工作原理

ratingBar = ((RatingBar) findViewById(R.id.ratingBar1));
    ratingBar.setRating(Float.parseFloat("3.6"));
    ratingBar = ((RatingBar) findViewById(R.id.ratingBar1));