各位类似IOS那种自定义switch控件样式该怎么做

IOS基本UI控件
3.1 Button控件
iPhone的Button控件可以做的很绚丽,Button可以有多种状态:
" Highlighted
" Selected
" Disabled
实现上图的效果:新建ButtonsBackground项目:
ButtonsBackgroundViewController.h文件
@interface ButtonsBackgroundViewController : UIViewController {
UIButton * clearB
UIButton * smallB
@property (nonatomic, retain) IBOutlet UIButton * clearB
@property (nonatomic, retain) IBOutlet UIButton * smallB
- (IBAction) disableBut: (id)
ButtonsBackgroundViewController.m文件
@synthesize clearB
@synthesize smallB
- (IBAction) disableBut: (id) sender {
if(clearButton.enabled == YES) {
clearButton.enabled = NO;
smallButton.enabled = NO;
[((UIButton *) sender) setTitle:@"Enable" forState:UIControlStateNormal];
clearButton.enabled = YES;
smallButton.enabled = YES;
[((UIButton *) sender) setTitle:@"Disable" forState:UIControlStateNormal];
- (void)dealloc {
[clearButton release];
[smallButton release];
[super dealloc];
点击Disable按钮时候,调用disableBut方法,在该方法中实现了clearButton按钮和smallButton按钮“可用”状态和“不可用”状态的切换。在状态发生切换时候还要改变Disable按钮的上面的“标题”和“状态”:
[((UIButton *) sender)
setTitle:@"Enable"forState:UIControlStateNormal];
sender是事件源即点击的按钮对象本身。
Interface Builder设计页面
点击Disable按钮的时候,会改变clearButton和smallButton的标题,因此需要连接File’s
Owner到两个按钮(clearButton和smallButton)的输出口。
为了响应Disable按钮的事件需要,从Disable按钮连接到File’s Owner定义的disableBut事件。
clearButton属性设定
属性框,使Shows Touch on
Highlight is checked 选项被选中。
Default State
Configuration选中时候,设置按钮图片power.png背景图片butbackgray.png。
Highlighted State
Configuration 选中时候,设置按钮图片power.png ,背景图butbackbluegray.png。
Disabled State
Configuration
选中时候,设置按钮图片powerdisabled.png背景图片,butbackgraydisabled.png。
smallButton属性设定
Default State
Configuration选中时候,设置按钮图片butbackgray.png背景图片, 设置title“Shock”。
Highlighted State
Configuration
选中时候,设置图片butbackbluegray.png背景图片,设置title“Shocking”。
3.2 开关控件
开关控件(Switch),有些相windows中的checkbox,它只有两种状态,true和false。
可以通过该方法改变开关控件的状态。
-(void) setOn: (BOOL)
on animated: (BOOL) animated
3.3 滑块控件
滑块控件(Slider),水平放置,可以用手触摸改变它的值。
默认情况下它的最小值0最大值1.00,而.50是初始值,我们可以通过下面的方法设定值:
setValue:(float) value animated:(BOOL) animated
开关和滑块实例
我们通过在页面放在开关和滑块控件了解他们的使用情况。
新建项目SwitchSlider:
SwitchSliderViewController.h
@interface SwitchSliderViewController : UIViewController {
UISwitch * myS
@property(nonatomic, retain)IBOutlet UISwitch * myS
-(IBAction) handleSwitch: (id)
-(IBAction) handleSlider: (id)
SwitchSliderViewController.m
@implementation SwitchSliderViewController
@synthesize myS
- (IBAction) handleSwitch: (id) sender {
if( [((UISwitch *) sender) isOn] == YES){
NSLog(@"It's on");
NSLog(@"It's off");
- (IBAction) handleSlider: (id) sender {
NSLog(@"value: %f", ((UISlider *)sender).value);
if( [((UISlider *) sender) value] == ((UISlider *) sender) .maximumValue) {
[mySwitch setOn:YES animated:YES];
- (void)dealloc {
[mySwitch release];
[super dealloc];
连接输出口和动作事件
连接开关控件到的handleSwitch:
连接滑块控件到的handleSlider:
制定开关控件输出口。
3.4 分段控件
分段控件(Segment),是有2个或更多段构成的组,它相当与独立的按钮。
新建项目Segment:
SegmentViewController.h
定义一个动作事件
@interface SegmentViewController : UIViewController {
- (IBAction) handleSegment: (id)
SegmentViewController.m
- (IBAction) handleSegment: (id) sender {
UISegmentedControl * myseg = (UISegmentedControl *)
if(myseg.selectedSegmentIndex == 0) {
NSLog(@"selected zero index...");
else if(myseg.selectedSegmentIndex == 1) {
NSLog(@"selected one index...");
NSLog(@"selected two index...");
IB设计视图
连接动作事件
连接段控件到File’s
Owner的handleSegment: 动作。
3.4 工具栏
工具栏(UIToolBar),一般是放置在屏幕的底部,在工具栏的内部可以放置多个按钮和控件。
新建项目ToolBar:
ToolBarViewController.h
定义两个动作事件
@interface ToolBarViewController : UIViewController {
IBOutlet UIActivityIndicatorView * myActivityV
@property (nonatomic, retain) IBOutlet UIActivityIndicatorView * myActivityV
-(IBAction)onClickStartButton: (id)
-(IBAction)onClickOpenButton: (id)
ToolBarViewController.m
@implementation ToolBarViewController
@synthesize myActivityV
-(IBAction)onClickStartButton: (id)sender {
if ([myActivityView isAnimating]) {
[myActivityView stopAnimating];
[myActivityView startAnimating];
-(IBAction)onClickOpenButton: (id)sender {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示信息"
message:@"您点击了打开按钮" delegate:self
cancelButtonTitle:@"Done"
otherButtonTitles:nil];
[alert show];
[alert release];
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
- (void)viewDidUnload {
- (void)dealloc {
[myActivityView release];
[super dealloc];
IB设计视图
连接动作事件
连接到打开按钮的onClickOpenButton: 动作。
连接到开始按钮的onClickStartButton: 动作。
连接到UIActivityIndicatorView输出口。
3.5 WebView
WebView可以帮助我们构建Web的iPhone应用程序。
很多网站的iPhone和iPad客户端程序都是使用WebView开
WebView能够支持HTML5,不支持Flash等。
新建项目MyWeb:
MyWebViewController.h
@interface MyWebViewController : UIViewController
IBOutlet UITextField * myTextF
IBOutlet UIWebView * myWebV
@property(nonatomic, retain) UIWebView * myWebV
@property(nonatomic, retain) UITextField * myTextF
- (IBAction) changeLocation: (id)
MyWebViewController
需要实现协议UIWebViewDelegate,它一个委托对象。委托是一种设计模式,在iPhone中主要用于回调事件。在委托中定义了一下方法,实现了该委托的对象,要提供该方法的实现。
UIWebViewDelegate的方法是webViewDidFinishLoad:&
它上在异步情况一个网址,当应答回来后回调该方法。
MyWebViewController.m
@implementation MyWebViewController
@synthesize myWebV
@synthesize myTextF
- (void) viewDidLoad {
myWebView.delegate =
- (void)dealloc {
myWebView.delegate =
[myTextField release];
[myWebView release];
[super dealloc];
- (IBAction) changeLocation: (id) sender {
[myTextField resignFirstResponder];
NSURL * url = [NSURL URLWithString: myTextField.text];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
[myWebView loadRequest:request];
#pragma mark WebView 委托
#pragma mark --
- (void)webViewDidFinishLoad: (UIWebView *) webView {
NSLog(@"%@", [webView stringByEvaluatingJavaScriptFromString:
@"document.body.innerHTML"]);
在viewDidLoad
方法中的myWebView.delegate =self是指定为自身。
webViewDidFinishLoad方法中实现委托回调功能。
[myWebView
stringByEvaluatingJavaScriptFromString:&&&&&
@"document.documentElement.textContent”]
是运行一个JavaScript脚本程序,document.body.innerHTML获得页面中的HTML代码。
1 本教程是基于关东升老师的教程
基于黑苹果10.6.8和xcode4.2
3 本人初学,有什么不对的望指教
4 教程会随着本人学习,持续更新
教程是本人从word笔记中拷贝出来了,所以格式请见谅
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。iOS的SwitchButton深入人心,也被Android上的产品设计借鉴,在Android4.0中,系统就带有原生的Switch控件了。但是在老版本的Android上,怎样实现这个功能呢?
最简单的方法就是,把SwitchButton看成是个CheckBox或者ToggleButton,直接设置button属性或者background属性就可以。
但是这样实现,并没有像iOS上那样的滑动动画效果。下面介绍两种自定义的SwitchButton的控件的开源库。
1&http://ankri.de/switch-button-for-android-2-3-gingerbread/&
这篇博文中详细介绍了其实现方法,也可以下载到源代码。这个可以用手拖动开关,效果非常接近了。但是也是有缺点的,不能实现背景移动,其背景是一个ProgressDrawable。
2&/Issacw0ng/SwitchButton
这个是我坚果的最完美模拟iOS效果的SwitchButton。可以实现拖动,背景也可以跟着拖动。但是代码的实现上不是那么严谨,不能调整大小,不能灵活自定义样式。
这两个的实现原理基本类似,代码也比较少,有兴趣的同学可以研究一下源代码,非常值得学习的开源项目。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:863581次
积分:11709
积分:11709
排名:第1085名
原创:55篇
转载:1534篇
评论:77条
(1)(2)(5)(35)(7)(51)(20)(3)(7)(15)(13)(2)(10)(28)(34)(6)(74)(7)(4)(4)(8)(11)(7)(10)(5)(9)(10)(4)(22)(10)(9)(27)(15)(33)(51)(45)(13)(87)(18)(41)(38)(129)(10)(17)(9)(16)(73)(55)(53)(55)(17)(106)(55)(52)(29)(53)(1)(15)(53)9702人阅读
Android(4)
iOS的SwitchButton深入人心,也被Android上的产品设计借鉴,在Android4.0中,系统就带有原生的Switch控件了。但是在老版本的Android上,怎样实现这个功能呢?
最简单的方法就是,把SwitchButton看成是个CheckBox或者ToggleButton,直接设置button属性或者background属性就可以。
&?xml version=&1.0& encoding=&utf-8&?&
&selector xmlns:android=&/apk/res/android&&
&item android:drawable=&@drawable/check_box_on& android:state_checked=&true&/&
&item android:drawable=&@drawable/check_box_off& android:state_checked=&false&/&
&/selector&
但是这样实现,并没有像iOS上那样的滑动动画效果。下面介绍两种自定义的SwitchButton的控件的开源库。
1&http://ankri.de/switch-button-for-android-2-3-gingerbread/&
这篇博文中详细介绍了其实现方法,也可以下载到源代码。这个可以用手拖动开关,效果非常接近了。但是也是有缺点的,不能实现背景移动,其背景是一个ProgressDrawable。
2&/Issacw0ng/SwitchButton
这个是我坚果的最完美模拟iOS效果的SwitchButton。可以实现拖动,背景也可以跟着拖动。但是代码的实现上不是那么严谨,不能调整大小,不能灵活自定义样式。
这两个的实现原理基本类似,代码也比较少,有兴趣的同学可以研究一下源代码,非常值得学习的开源项目。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:149808次
积分:1382
积分:1382
排名:千里之外
原创:23篇
评论:32条
(1)(1)(1)(2)(1)(1)(2)(2)(2)(8)(4)(5)ios switch里面用if-学网-提供健康,养生,留学,移民,创业,汽车等信息
ios switch里面用if
IOS switch-case知多少 时间: 22:40:40 阅读:1731 评论:0 收藏:0 [点我收... 则需要用代码块表示符号'{}'括起来,否则可能编译阶段报错。 switch (1) { case 1:{ int a...onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_MOVE: mNowX = event.getX(); case MotionEvent.ACTION_DOWN: if (event...它需要通过计算和浮点协处理器;字符串则需要通过strcmp,或者汇编的CMPS指令,所以不能在CPU的一个指令中完成,故。若要switch,必须使用if语句。 不明白再问。netmask broadcast-address switch(enable) set interface sc0 vlan switch(enable) set ip route default gateway 4.在基于IOS的交换机上启用和浏览CDP信息: switch(config-if)# cdp...你也可以初始化switch是开还是关 switch.on = YES; 如果你是想在点击,拨动switch开关... ; 在方法中进行处理 -(void)switchChanged:(UISwitch *)sw { if(sw.isOn) { }else { } ...我不知道有没有更好的办法,我们的做法是根据设备类型,写一些if...else,或者switch语句... 基本上,我们的做法是:大的页面关系,用计算完成;每个小块里面的相对位置关系,用Maso... switch(enable) set enalbepass 3.在基于IOS的交换机上设置远程访问: switch(config)# interface vlan 1 switch(config-if)# ip address ip-address netmask switch(config-if)# ip d... switch(enable) set enalbepass 3.在基于IOS的交换机上设置远程访问: switch(config)# interface vlan 1 switch(config-if)# ip address ip-address netmask switch(config-if)# ip...。 交换机的配置步骤如下: Switch(Config)# interface vlan 1 Switch(Config-If-Vlan1)#ip address 192.168.1.2 255.255.255.0 Switch(Config-If-Vlan1)#exit Switch(Config)# ex...Switch&en Switch#conf t Switch(config)#vlan 10 创建vlan10 Switch(config-vlan)#exit Switch(config)#inter f0/1 Switch(config-if)#switchport access vlan 10 把接口f0/1加入...
大类导航: |关键字:    
当前位置: >
仿iOS的开关(Switch)按钮控件源码
详细介绍 - [ 仿iOS的开关(Switch)按钮控件源码 ]
仿iOS的开关(Switch)按钮控件源码,源码switchbtn,iOS的SwitchButton深入人心,也被Android上的产品设计借鉴,在Android4.0中,系统就带有原生的Switch控件了。但是在老版本的Android上,怎样实现这个功能呢?最简单的方法就是,把SwitchButton看成是个CheckBox或者ToggleButton,直接设置button属性或者background属性就可以。&
下载地址 - [ 仿iOS的开关(Switch)按钮控件源码 ]
推荐使用、下载,请使用解压文件;
下载本站资源,如服务器暂不能下载请过一段时间再试;
本站资源通过 、 等软件检测;
本站部分资源供学习交流使用,如商业用途,请购正版。
网友对“仿iOS的开关(Switch)按钮控件源码”的评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
& 下一篇:没有了
您喜欢这个源码么?
本类热门源码
增值电信业务经营许可证:苏B2-CopyRight ©
All Rights reserved.}

我要回帖

更多关于 安卓switch控件样式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信