Android RatingBar将给定的浮点数四舍五入
我使用的是构建工具23.0.2,我试图给我的Android RatingBar将给定的浮点数四舍五入,android,ratingbar,Android,Ratingbar,我使用的是构建工具23.0.2,我试图给我的评级条视图提供一个浮点数(即2.5),由于我指定的步长,我希望看到半颗星 <RatingBar android:id="@+id/rating_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:rating="0" android:sca
评级条
视图提供一个浮点数(即2.5),由于我指定的步长,我希望看到半颗星
<RatingBar
android:id="@+id/rating_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:rating="0"
android:scaleX="0.7"
android:scaleY="0.7"
android:stepSize="0.5"/>
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
但它总是显示一个圆形的星星!我检查了源代码,发现
setProgress()
方法使用的setRating()
方法只直接接受一个整数 嗨,这段代码对我来说很好:
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myratingBar"
android:numStars="5"
style="?android:attr/ratingBarStyleSmall"
android:textAlignment="center"
android:layout_gravity="center"
android:progressBackgroundTint="#000000" />
RatingBar rating = (RatingBar)vi.findViewById(R.id.myratingBar);
LayerDrawable stars = (LayerDrawable) rating.getProgressDrawable();
stars.getDrawable(2).setColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_ATOP);
rating.setRating((float) 4.5);
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
评级条评级=(评级条)vi.findviewbyd(R.id.myratingBar);
LayerDrawable stars=(LayerDrawable)rating.getProgressDrawable();
stars.getDrawable(2).setColorFilter(Color.YELLOW,PorterDuff.Mode.SRC_);
额定值。设定额定值((浮动)4.5);
用于自定义您的分级栏嗨,这段代码对我来说很好:
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myratingBar"
android:numStars="5"
style="?android:attr/ratingBarStyleSmall"
android:textAlignment="center"
android:layout_gravity="center"
android:progressBackgroundTint="#000000" />
RatingBar rating = (RatingBar)vi.findViewById(R.id.myratingBar);
LayerDrawable stars = (LayerDrawable) rating.getProgressDrawable();
stars.getDrawable(2).setColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_ATOP);
rating.setRating((float) 4.5);
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
评级条评级=(评级条)vi.findviewbyd(R.id.myratingBar);
LayerDrawable stars=(LayerDrawable)rating.getProgressDrawable();
stars.getDrawable(2).setColorFilter(Color.YELLOW,PorterDuff.Mode.SRC_);
额定值。设定额定值((浮动)4.5);
用于自定义分级栏
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
步骤1:打开res->layout->activity_main.xml并添加以下代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.skholingua.android.custom_ratingbar.MainActivity" >
<RatingBar
android:id="@+id/ratingBar5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true" />
<RatingBar
android:id="@+id/ratingBar4"
style="@style/StarRatingBar"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_below="@+id/textView5"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="98dp"
android:text="Custom RatingBar with Color"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ratingBar5"
android:layout_centerHorizontal="true"
android:layout_marginTop="104dp"
android:text="Custom RatingBar with Images"
android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
<?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/skholinguaicon_blue"/>
<item
android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/skholinguaicon_blue"/>
<item
android:id="@+android:id/progress"
android:drawable="@drawable/skholinguaicon"/>
</layer-list>
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
步骤5:打开AndroidManifest.xml并添加以下代码:
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
步骤1:打开res->layout->activity_main.xml并添加以下代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.skholingua.android.custom_ratingbar.MainActivity" >
<RatingBar
android:id="@+id/ratingBar5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true" />
<RatingBar
android:id="@+id/ratingBar4"
style="@style/StarRatingBar"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_below="@+id/textView5"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="98dp"
android:text="Custom RatingBar with Color"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ratingBar5"
android:layout_centerHorizontal="true"
android:layout_marginTop="104dp"
android:text="Custom RatingBar with Images"
android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
<?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/skholinguaicon_blue"/>
<item
android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/skholinguaicon_blue"/>
<item
android:id="@+android:id/progress"
android:drawable="@drawable/skholinguaicon"/>
</layer-list>
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
步骤5:打开AndroidManifest.xml并添加以下代码:
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
请尝试@maveň谢谢,但请添加您的解决方案作为答案。欢迎。。。。。。。。我已经更新了,请检查。:)尝试@maveň谢谢,但请添加您的解决方案作为答案。欢迎。。。。。。。。我已经更新了,请检查。:)