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

所属分类: 软件编程 / Android 阅读数: 41
收藏 0 赞 0 分享

一      拖动条

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

安卓拖动条控件是继承自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网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多