一步一步学android控件(之二十五)—— SeekBar
SeekBar扩展自ProgressBar——在ProgressBar的基础上添加了一个用户可以拖拽的thum。 SeekBar.OnSeekBarChangeListener是接收SeekBar进度改变的监听器。
SeekBar的使用方法类似于ProgressBar,今天主要通过自定义SeekBar的样式来学习SeekBar。自定义SeekBar样式有一点与ProgressBar不同——自定义部分需要两部分android:progressDrawable="@drawable/seek_bar_style" 和android:thumb="@drawable/seek_bar_thum" 。 android:progressDrawable 用于指定水平长条的样式,android:thumb用于指定thum的样式。下图为最后的样式:
1、seek_bar_style.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@android:id/background">
<shape>
<corners android:radius="10dip" /> <gradient
android:centerColor="#ffBBBBBB"
android:endColor="#ffCC66FF"
android:startColor="#ffDDDDDD" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="10dip" /> <gradient
android:centerColor="#ffffb600"
android:endColor="#ffffcb00"
android:startColor="#ffffd300" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="10dip" /> <gradient
android:centerColor="#ff00ff00"
android:endColor="#ffffffff"
android:startColor="#3fF0ff30" />
</shape>
</clip>
</item> </layer-list>
2、seek_bar_thum.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners
android:radius="10dip"></corners>
<gradient
android:startColor="#FFff0000"
android:centerColor="#ff00FF00"
android:endColor="#ff003dff"
android:type="sweep"
android:centerX="50%"
android:centerY="50%"></gradient>
<size android:width="20dip"
android:height="20dip"/> </shape>
3、activity——WidgetSeekBarActivity,内容很简单
package com.xy.zt.selfdefinewieget; import android.app.Activity;
import android.os.Bundle; public class WidgetSeekBarActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widget_seek_bar_layout);
} }
4、在ViewData.java中添加如下内容(此部分内容可选)
public static final int SEEK_BAR_ID = RATING_BAR_ID + 1;
public static final String SEEK_BAR_NAME = "SeekBar";
private static final ViewData mSeekBar = new ViewData(SEEK_BAR_NAME,
SEEK_BAR_ID);
View_Datas.add(mSeekBar);
在WidgetsAdapter的handleItemClicked中添加如下内容
case ViewData.SEEK_BAR_ID:
intent.setClass(mContext, WidgetSeekBarActivity.class);
mContext.startActivity(intent);
break;
以上为SeekBar控件的全部内容,下一个控件 QuickContactBadge。
一步一步学android控件(之二十五)—— SeekBar的更多相关文章
- 一步一步学android控件(之十五) —— DegitalClock & AnalogClock
原本计划DigitalClock和AnalogClock单独各一篇来写,但是想想,两个控件的作用都一样,就和在一起写一篇了. DegitalClock和AnalogClock控件主要用于显示当前时间信 ...
- 一步一步学android控件(之十六)—— CheckBox
根据使用场景不同,有时候使用系统默认的CheckBox样式就可以了,但是有时候就需要自定义CheckBox的样式.今天主要学习如何自定义CheckBox样式.在CheckBox状态改变时有时需要做一些 ...
- 一步一步学android控件(之六) —— MultiAutoCompleteTextView
今天学习的控件是MultiAutoCompleteTextView . 提到MultiAutoCompleteTextView 我们就自然而然地想到AutoCompleteTextView ,就想知道 ...
- Android控件大全(二)——Toolbar
1.隐藏Actionbar 代码中设置:requestWindowFeature(Window.FEATURE_NO_TITLE) //如果Activity是继承自AppCompatActiv ...
- Android项目实战(二十五):Android studio 混淆+打包+验证是否成功
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} ...
- Android核心分析之二十五Android GDI之共享缓冲区机制
Androird GDI之共享缓冲区机制 1 native_handle_t对private_handle_t 的包裹 private_handle_t是gralloc.so使用的本地缓冲区 ...
- Android Studio 使用教程(二十五)之运行Android Studio工程
一.Android虚拟设备入口 上期我们使用了Android Studio创建了HeloWorld工程,要想运行该工程,首先需要一个Android虚拟设备来模拟Android程序的运行. 重新打开An ...
- Android 控件架构及View、ViewGroup的测量
附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...
- Android控件TextView的实现原理分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8636153 在前面一个系列的文章中,我们以窗口 ...
随机推荐
- 使用cvs或svn从sourceforge上获取开源项目的方法[转载]
著名开源软件网站(www.sourceforge.net)上面的开源项目,大部分使用的管理工具为cvs或svn. 这两种软件的代表客户端程序是wincvs和tortoiseSVN. 1.cvs C ...
- 【python】aassert 断言
语法 : assert 3>4 结果Traceback (most recent call last): File "<pyshell#0>", line 1, ...
- python实现模拟登录【转】
原文网址:http://www.blogjava.net/hongqiang/archive/2012/08/01/384552.html 本文主要用python实现了对网站的模拟登录.通过自己构造p ...
- Mysql安装过程(linux:2.6.18-194.el5,Mysql:)
1.安装[root@RAC2 mysql]# rpm -ivh MySQL-server-5.6.12-2.rhel5.x86_64.rpm Preparing... ################ ...
- WebService学习整理(一)——客户端三种调用方式整理
1 WebService基础 1.1 作用 1, WebService是两个系统的远程调用,使两个系统进行数据交互,如应用: 天气预报服务.银行ATM取款.使用邮箱账号登录各网站等. 2, ...
- Android之TextView组件学习
一.基础学习 1.findViewById返回View类,该类是所有View组件的父类. 2.子类比父类拥有更多的属性和方法,不过子类找不到的话去父类找 3.marquee:华盖,跑马灯效果:orie ...
- 【Xamarin挖墙脚系列:多窗口之间的导航】
原文:[Xamarin挖墙脚系列:多窗口之间的导航] 在Android中:Intent对象,通知松散耦合的Activity等组件 在IOS中:Segue对象连接视图 <button opaque ...
- Android代码中使用Ping命令
项目中需要搜索同一WIFI局域网中的设备并进行通信,暂时想到的办法是得到局域网网段的地址,因为同一局域网中的IP地址前三位是相同的,而第四位的范围从0~250,所以对第四位进行遍历搜索,能ping通的 ...
- reviewboard搭建
reviewboard的搭建 系统:fedora 19 内核版本:3.9.5-301.fc19.x86_64 步骤 命令 备注 安装mysql # yum -y install mysql mysql ...
- android使用webview上传文件(支持相册和拍照)
老夫最近需要做一个项目,需要调用服务器段的一些网页来选择文件,刚开始还挺纠结的,不知从何下手,网上大致预览了大神们走过的路,他们传统的方式都是使用一下代码: public void openFileC ...