Android高级界面组件之拖动条和评星条的功能实现

发布时间 - 2026-01-10 23:21:04    点击率:

一      拖动条

        安卓手机音量设置都是给出一个拖动条,使得用户能够拖动滑块进行设置,这里我们介绍拖动条。

安卓拖动条控件是继承自ProgressBar控件,所以它能够支持ProgressBar的xml属性。但是他有自己的独特属性:

        android:max       设置最大的拖动两

        android:progress     设置初始化进度

        android:thumb        设置滑块图形

事件监听方面,拖动条需要注意:我们不在监听用户的点击操作,而是监听滑块的改变,下面用一个实例简单的操作一下拖动条。

实例:界面上给出一个拖动条和文本,滑动滑块文本动态显示

1.新建工程,在布局文件中加入一个文本和拖动条。这里我设置了当前进度值和滑块图形

<RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
  <TextView
   android:id="@+id/textView1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentTop="true"
   android:layout_centerHorizontal="true"
   android:layout_marginTop="112dp"
   android:text="当前进度:0" />
  <SeekBar
   android:id="@+id/seekBar1"
   android:thumb="@drawable/penguin"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_alignParentLeft="true"
   android:layout_centerVertical="true" />
 </RelativeLayout>

2.代码中获取文本和拖动条,给拖动条加监听器。监听器内部控制了文本的动态显示。监听有三个方法,注意:改写一下开始和结束滑动的方法,另外一个和是否是用户滑动有关,我们且不去管它

 tv = (TextView)findViewById(R.id.textView1);
  sb = (SeekBar)findViewById(R.id.seekBar1);
  sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
   @Override
   public void onStopTrackingTouch(SeekBar s) {
    final int p = s.getProgress();
    tv.setText("当前进度:" + p);
   }//结束滑动
   @Override
   public void onStartTrackingTouch(SeekBar s) {
    tv.setText("正在拖动!");
   }//开始滑动
   @Override
   public void onProgressChanged(SeekBar s, int arg1, boolean arg2) {
   }
  });

运行代码,滑动滑块,能够看到文本根据滑动动态的显示内容。

二     评星条

        很多视屏软件和是应用市场软件都有评星的功能,这是的评分应用场景是:拖动评星条,之后点击某个提交按钮完成评分。这里我们简单看一下评星条的属性,之后模拟一个类似的评星功能。

       android:isIndicator       表明是指示器,也就是能不能被用户评分,值为"true"不能被改变

       android:numStars        评星条的星星总数

       android:rating              评星条的默认星级

       android:stepSize          评星一次变化的分量,默认状态下为0.5,用户一次拖动改变0.5的星级

实例:做一个简单的评分界面

 1.新建工程,布局中加入显示文本,评星条,提交按钮

 <RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
  <RatingBar
   android:id="@+id/ratingBar1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentTop="true"
   android:layout_centerHorizontal="true"
   android:layout_marginTop="184dp" />
  <TextView
   android:id="@+id/textView1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignBottom="@+id/ratingBar1"
   android:layout_centerHorizontal="true"
   android:layout_marginBottom="100dp"
   android:text="评分:" />
  <Button
   android:id="@+id/button1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_below="@+id/ratingBar1"
   android:layout_centerHorizontal="true"
   android:text="提交" />
 </RelativeLayout>

2.在主Activity里面实例化显示文本,评星条,按钮

 tv = (TextView)findViewById(R.id.textView1);
  asb = (RatingBar)findViewById(R.id.ratingBar1);
  b = (Button)findViewById(R.id.button1);

       
3.给按钮加监听事件,获取评星条的评分,显示到文本中去。评星的获取通过getRating()方法

 b.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    
    final float r;
    r = asb.getRating();
    tv.setText("评分"+ r +"星");
   }
  });

运行代码,效果如下:

以上所述是小编给大家介绍的Android高级界面组件之拖动条和评星条的功能实现,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 拖动条和评星条  # android界面组件  # Android中使用SeekBar拖动条实现改变图片透明度(代码实现)  # Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码  # Android拖动条的实现代码  # Android中SeekBar拖动条控件使用方法详解  # Android开发之拖动条和评分组件用法分析  # Android中SeekBar拖动条使用方法详解  # 拖动  # 滑块  # 小编  # 自己的  # 都是  # 这是  # 都有  # 在此  # 不去  # 给大家  # 他有  # 做一个  # 另外一个  # 看一下  # 中去  # 所述  # 需要注意  # 给我留言  # 内部控制  # 值为 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  深圳网站制作的公司有哪些,dido官方网站?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  JavaScript如何实现错误处理_try...catch如何捕获异常?  如何在万网主机上快速搭建网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在Tomcat中配置并部署网站项目?  网页设计与网站制作内容,怎样注册网站?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  HTML 中动态设置元素 name 属性的正确语法详解  如何快速搭建个人网站并优化SEO?  javascript读取文本节点方法小结  如何在宝塔面板中修改默认建站目录?  高端网站建设与定制开发一站式解决方案 中企动力  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Laravel观察者模式如何使用_Laravel Model Observer配置  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何登录建站主机?访问步骤全解析  Android自定义listview布局实现上拉加载下拉刷新功能  如何快速使用云服务器搭建个人网站?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  如何基于PHP生成高效IDC网络公司建站源码?  Laravel怎么上传文件_Laravel图片上传及存储配置  如何有效防御Web建站篡改攻击?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何在建站之星网店版论坛获取技术支持?  如何在云主机上快速搭建多站点网站?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何处理文件下载请求?(Response示例)  详解Android图表 MPAndroidChart折线图  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何在建站之星绑定自定义域名?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  浅谈redis在项目中的应用  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何在橙子建站上传落地页?操作指南详解  高端建站如何打造兼具美学与转化的品牌官网?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  Laravel如何使用Blade模板引擎?(完整语法和示例)  如何在IIS7中新建站点?详细步骤解析  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel如何实现用户注册和登录?(Auth脚手架指南)