通过学习RatingBar升级控件的学习,总结使用步骤如下:
1、在layout目录下创建main.xml布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<RatingBar
android:id="@+id/ratingbarId"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:numStars="5"//设置多少个评级
android:stepSize="1.0"//设置进度评级的点数
/>
</LinearLayout>
2、创建一个MainActivity继承Activity
package com.ratingbar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
public class MainActivity extends Activity {
private RatingBar ratingBar = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ratingBar = (RatingBar)findViewById(R.id.ratingbarId);
ratingBar.setOnRatingBarChangeListener(new RatingBarListener());
}
private class RatingBarListener implements RatingBar.OnRatingBarChangeListener{
//监听评级控件改变时,都会调这个方法
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
System.out.println("rating--->" + rating);
}
}
}
分享到:
相关推荐
Android 中自定义 RatingBar 方法 在 Android 开发中,RatingBar 是一个非常常用的组件,用于显示评分或星级評價。但是,系统默认的 RatingBar 样式可能不够美观,于是我们需要自定义 RatingBar 的样式来满足我们的...
- 通过Java代码动态创建RatingBar,可以使用`RatingBar`类的构造函数,并调用`setNumStars()`、`setStepSize()`和`setRating()`等方法。 2. **样式定制**: - Android允许开发者自定义RatingBar的外观,包括星星...
6. **代码动态创建**:除了在布局文件中声明,还可以在代码中动态创建和设置自定义RatingBar,这需要使用`new`关键字实例化并调用相关方法来配置。 项目中的“XingXingDemo”可能是演示这个自定义RatingBar的示例...
这时,我们需要自定义一个继承自RatingBar的类,并重写其onTouchEvent()方法,实现自定义的触摸响应逻辑。同时,如果需要更精细的控制,如改变选中星星的动画,可以使用Animator API来实现平滑过渡。 总结起来,...
6. 在布局文件中使用自定义的RatingBar,并通过app:属性引用我们在attrs.xml中定义的自定义属性。 在提供的"我的评分"(MyRatring)示例中,开发者已经实现了上述步骤,创建了一个可以自定义星星间距的RatingBar。...
博客中提到的源码分析,可能是针对RatingBar的onDraw()方法进行了优化。在自定义View时,这个方法是关键,因为它负责绘制View的内容。开发者可以通过重写此方法,控制每个星星的绘制,包括大小、颜色、间隙等属性。...
RatingBar的使用: 1. RatingBar是Android内置的星级评价控件,它可以展示半星或者全星,并允许用户进行点击交互来改变评分。 2. RatingBar有两种模式:用户可调整(user-scalable)和不可调整(not-user-scalable)...
首先,我们了解RatingBar的基本使用。在Android的XML布局文件中,我们可以直接添加RatingBar元素,并通过属性来调整其外观和行为。例如: ```xml <RatingBar android:id="@+id/ratingBar" android:layout_width=...
例如,使用`((RatingBar) view.findViewById(R.id.rating_bar))`获取RatingBar,`((TextView) view.findViewById(R.id.text_view))`获取TextView,再分别调用`setRating()`和`setText()`方法设置值。 为了动态改变...
首先,我们需要创建一个新的Java类,继承自RatingBar,并在其中重写必要的方法。例如,我们可以创建一个名为`CustomRatingBar`的类: ```java public class CustomRatingBar extends RatingBar { // 在这里添加...
- 在布局文件中,使用`style`属性将自定义风格应用到RatingBar。 - 示例代码: ```xml <RatingBar android:id="@+id/ratingBar" style="@style/CustomRatingBar" android:layout_width="wrap_content" ...
- 在XML布局文件中,通过`app:`(如果使用自定义属性)或`android:`(如果仅使用Android框架的属性)前缀引用自定义RatingBar的属性。 - 或者在Java代码中,通过`setCompoundDrawablesWithIntrinsicBounds()`方法...
4. 最后,记得在布局文件中使用自定义的RatingBar类: ```xml android:id="@+id/customRatingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:...
在Activity或Fragment中添加这个监听器,然后重写`onRatingChanged`方法,以处理用户对RatingBar的操作。 至此,我们就完成了一个自定义RatingBar的实现。通过这种方式,你可以自由地设计评分图标,甚至可以实现...
3. **设置属性**:为了让自定义RatingBar能够响应各种属性改变,如大小、间距、总分等,你需要重写`setRating()`、`setNumStars()`等方法,并在这些方法中更新你的绘制逻辑。例如,改变星星间距可能需要计算每个星星...
- 如果需要监听RatingBar的点击或值改变事件,可以在自定义RatingBar类中添加监听器,或者在Adapter的`getView()`方法中设置监听器。 - 将事件回调到Activity或Fragment,更新数据源并调用`notifyDataSetChanged()...
例如,使用AsyncTask或者Retrofit等网络库时,可以在`onProgressUpdate`或相应的方法中更新RatingBar: ```java // 假设progress是网络请求的百分比进度 ((RatingBar) findViewById(R.id.login_progress))....
提供的"RatingBarDemo"压缩包文件很可能是包含了示例代码的项目,其中可能包含了一个简单的Activity,展示了RatingBar的使用方法,包括初始化、设置属性、监听事件等。通过查看和运行这个项目,开发者可以更直观地...
在Activity或Fragment中获取RatingBar的实例,然后调用`setRating()`方法: ```java RatingBar ratingBar = findViewById(R.id.ratingBar); ratingBar.setRating(3.5f); // 设置评分为3.5星 ``` 为了自定义...