控件——SeekBar/RatingBar
2015-08-02 11:20
507 查看
SeekBarChangeListener 监听器的三个方法
SeekBar:
<SeekBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/seekBarId" />
public class MainActivity extends AppCompatActivity { private SeekBar seekBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); seekBar = (SeekBar)findViewById(R.id.seekBarId); seekBar.setMax(200); seekBar.setProgress(100); seekBar.setSecondaryProgress(150); SeekBarListener seekBarListener = new SeekBarListener(); seekBar.setOnSeekBarChangeListener(seekBarListener); } class SeekBarListener implements SeekBar.OnSeekBarChangeListener{ /* SeekBar seekBar 是触发了监听器的SeekBar 对象 int Progress 是当前的进度 boolean fromUser 进度变化 可能是来自用户拖动 却也可能来自本身进度变化(比如视频进度的变化) */ @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { System.out.println("SeekBar:"+seekBar+",progress:"+progress+",fromUser"+fromUser); } @Override public void onStartTrackingTouch(SeekBar seekBar) { System.out.println("OnStart"); } @Override public void onStopTrackingTouch(SeekBar seekBar) { System.out.println("onStop"); } }
RatingBar:
<RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ratingBarId" android:numStars="4" android:stepSize="0.5"/>
public class MainActivity extends AppCompatActivity { private RatingBar ratingBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ratingBar = (RatingBar)findViewById(R.id.ratingBarId); RatingBarListener ratingBarListener = new RatingBarListener(); ratingBar.setOnRatingBarChangeListener(ratingBarListener); } class RatingBarListener implements RatingBar.OnRatingBarChangeListener{ /* RatingBar ratingBar 表示该监听器绑定且状态改变的 RatingBar对象 float rating 表示当前的值 boolean fromUser 表示是否来自用户(设置按钮调用setRating()改变rating 但并非来自User 所以fromUser = false) */ @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { System.out.println("RatingBar:"+ratingBar.getId()+",rating:"+rating+",fromeUser:"+fromUser); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
相关文章推荐
- 暑假-动态规划 III-(A - Constructing Roads In JGShining's Kingdom)
- 设计模式----单例模式
- [leedcode 162] Find Peak Element
- hdu 5339 Untitled
- hdfs小文件的解决方案
- 第七课第一节,T语言流程语句( 版本5.0)
- 2015 Multi-University Training Contest 3 hdu 5317 RGCDQ
- Android AudioFlinger加载HAL层流程
- 反射
- shell之find命令
- Linux的安装与android环境搭建的常见问题
- python进行爬虫
- 树与二叉树
- [Web3.0]什么是Web3.0/时代
- JavaWeb 分页管理
- Linux显示中文乱码解决方法
- Cinatra:高性能现代C++ Web框架
- django notes 二:URL dispatcher
- 自创关于java数据类型的面试题目,看看你到底会做多少
- 手机淘宝的高质量持续交付探索