RatingBar显示不全的问题

在一个项目中,用到了RatingBar控件,布局用的是RelativeLayout,运行起来,发现星星总是显示不全,要么少一个星,要么高度被遮。原来是自己不小心引起的,布局文件RatingBar的控件用了android:padding="10dp"这个属性,把它去掉就可以了。

小结一下,不知你是否也因为自己的不小心遇上类似的问题呢?细心检查下布局文件看看,希望能帮到你!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android Studio 中,可以使用 RatingBar 来实现评分的功能,并且可以通过 SharedPreferences 来保存历史分数。 首先,在布局文件中添加 RatingBar 和一个 TextView 用来显示历史分数: ``` <RatingBar android:id="@+id/ratingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/history" android:layout_width="wrap_content" android:layout_height="wrap_content" /> ``` 接下来,在 Activity 中获取 RatingBar 和 TextView,并且设置 RatingBar 的 OnRatingBarChangeListener 来监听用户评分的变化: ``` private RatingBar ratingBar; private TextView history; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ratingBar = findViewById(R.id.ratingBar); history = findViewById(R.id.history); ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { // 保存当前评分到 SharedPreferences SharedPreferences preferences = getPreferences(MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putFloat("rating", rating); editor.apply(); // 更新历史分数的显示 float historyRating = preferences.getFloat("rating", 0.0f); history.setText("历史分数:" + historyRating); } }); // 显示历史分数 SharedPreferences preferences = getPreferences(MODE_PRIVATE); float historyRating = preferences.getFloat("rating", 0.0f); history.setText("历史分数:" + historyRating); } ``` 在 OnRatingBarChangeListener 中,首先获取 SharedPreferences 对象,并将当前评分保存到 SharedPreferences 中。然后,使用 SharedPreferences 获取历史分数并更新 TextView 的显示。 在 Activity 的 onCreate 方法中,先获取历史分数并更新 TextView 的显示。然后,设置 RatingBar 的 OnRatingBarChangeListener 来监听评分的变化。 这样就可以实现 RatingBar 的评分功能,并且可以显示历史分数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值