最近遇到一个问题,因为是新人嘛,项目赶工也比较近,所以老是在加班,把平时工作中遇到的问题统一整理,待到双休加班的时候,偷闲发表一下。进入正题:我们经常要用到星级评论的效果,但好像android原声的也不是特别好,最近需要一个效果,可以拖动评分,没有半颗星的,所以我就用seekBar简化了一下,也是一个小技巧了...
<SeekBar android:id="@+id/sekbar" android:layout_width="@dimen/dp740" android:layout_height="@dimen/dp130" android:layout_centerHorizontal="true" android:background="@raw/mark3" android:max="100" android:progress="100" android:progressDrawable="@null" android:thumb="@null" android:thumbOffset="@null" android:visibility="visible" />
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if ( progress>= 0 && progress <20 ){ score = 1.0f; seekBar.setBackgroundResource(R.raw.mark1); } else if( progress>= 20 && progress <40 ){ score = 2.0f; seekBar.setBackgroundResource(R.raw.mark2); } else if( progress>= 40 && progress <60 ){ score = 3.0f; seekBar.setBackgroundResource(R.raw.mark3); } else if( progress>= 60 && progress <80 ){ score = 4.0f; seekBar.setBackgroundResource(R.raw.mark4); } else if( progress>= 80 && progress <100 ){ score = 5.0f; seekBar.setBackgroundResource(R.raw.mark5); } } });这样的话,你就可以拖动点击的时候随便换张星级的图片了,很好用的哦..
