![](/img/trans.png)
[英]android set part of the stars in the rating bar if the value is in decimal places
[英]Android Rating Bar unable to set decimal values
我试图将等级栏的初始等级设置为浮动值。 但是输出总是完全充满星星! 我不知道为什么会这样。
@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" />
您正在设置stepSize =“ 0.5”。 您应该将其更改为0.1。
尝试通过编程方式做到这一点
ratingBar = ((RatingBar) findViewById(R.id.ratingBar1));
ratingBar.setStepSize(0.5f);
ratingBar.ratingBar.setNumStars(5);
ratingBar.ratingBar.setMax(5);
ratingBar.setRating(Float.parseFloat("3.5"));
您只需删除项目中的工具栏。 我认为工具栏存在一些问题。 我尝试如下,它的工作原理
ratingBar = ((RatingBar) findViewById(R.id.ratingBar1));
ratingBar.setRating(Float.parseFloat("3.6"));
ratingBar = ((RatingBar) findViewById(R.id.ratingBar1));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.