关于app页面上有展示星星的问题

1、最体力的办法就是,UI给出星星图片,布局中五个ImageView,根据接口返回几个,给几个imageview附上星星

2、ratingbar,需要布局中style设置成

style="?android:attr/ratingBarStyleSmall" 为小星星
drawable中添加layerlist
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--<item android:id="@android:id/background"
        android:drawable="@drawable/xfb_star"></item>
    <item android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/xfb_star"></item>-->
    <item android:id="@android:id/progress"
        android:drawable="@drawable/xfb_star"></item>

</layer-list>

style中
<style name="xfb_shop_ratingbar"
    parent="Base.Widget.AppCompat.RatingBar">
    <item name="progressDrawable">
        @drawable/xfb_shop_layerlist
    </item>
    <item name="android:maxHeight">32dp</item>
    <item name="android:maxWidth">32dp</item>
</style>

然后布局中引用自定义的style

3、第三种办法就是用textview,

   
   
public static String haha(int fs){         return "★★★★★☆☆☆☆☆".substring(5-fs,10-fs);     }

用SpannableString打造绚丽多彩的文本显示效果

http://www.jianshu.com/p/84067ad289d2

 tv_star=(TextView)findViewById(R.id.tv_star);
   // tv_star.setText(haha(0));
    SpannableString spannableString = new SpannableString("在文本中添加表情(表情)");
    Drawable drawable = getResources().getDrawable(R.drawable.xfb_star);
    drawable.setBounds(0, 0, 42, 42);
    ImageSpan imageSpan = new ImageSpan(drawable);
    spannableString.setSpan(imageSpan, 6, 8, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    tv_star.setText(spannableString);


}

public static String haha(int fs){
    return "★★★★★".substring(fs,5);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值