当前位置:  ▪Android获取当前已连接的wifi信号强度的方法 iis7站长之家
本页文章导读:
    ▪Sencha-touch之TabPanel的Tab在点击时实施事件        Sencha-touch之TabPanel的Tab在点击时执行事件 前面一直很忙,忙了快有一年了,学习了很多东西,也没有系统的整理一下,现在开始逐渐的将自己的一些学习的心得一点一点的记录下来。   Sencha-.........
    ▪ WP7模拟器运用技巧        WP7模拟器使用技巧   一、开启/关闭电脑键盘输入  WP7模拟器默认状态只能通过模拟出来的QWERTY键盘输入,用鼠标一个一个点太慢了,以下总结了开启/关闭电脑键盘输入的方法,详细操作.........
    ▪ UIView创设不规则视图       UIView创建不规则视图 原文地址:http://xubenyang.me/309总所周知,UIView都是方形的,并不能产生一个不规则的形状的view(小弟才疏学浅,目前确实没有发现能够创建真实不规则视图的方法,如.........

[1]Sencha-touch之TabPanel的Tab在点击时实施事件
    来源: 互联网  发布时间: 2014-02-18
Sencha-touch之TabPanel的Tab在点击时执行事件

前面一直很忙,忙了快有一年了,学习了很多东西,也没有系统的整理一下,现在开始逐渐的将自己的一些学习的心得一点一点的记录下来。

 

Sencha-touch的前身是ExtJs,前几年我一直在做ExtJs的方面的扩展开发,现在由于自己的项目,做移动端的跨平台开发,因此用到了Sencha-touch。

 

Sencha-touch中TabPanel的使用频率应该是很高的了,一般的应用应该都会用到,但是TabPanel的TabBar在点击时,就会切换到对应的容器界面去,而经常会有这种情况,在TabBar中其实只是需要4个容器,而在TabBar上需要一个按钮,让其被点击时执行某个方法,而并不是切换到某个界面下去,在1.1的版本中,是可以给TabBar添加item来实现的,不过那也是存在Bug的,而在2的版本中,这样是无法实现的,为了实现这个功能,需要修改一点源码。

 

在TabPanel的源码中修改doTabChange方法,原本的doTabChange方法的源码是:

 

 

doTabChange: function(tabBar, newTab, oldTab) {

        var index = tabBar.indexOf(newTab);

        this.setActiveItem(index);

}

 

 

在其中添加几行代码:修改成:

 

 

doTabChange: function(tabBar, newTab, oldTab) {

        var index = tabBar.indexOf(newTab);

        var item = this.getInnerItems()[index];

        if(item.handler){

if(typeof(item.handler)== 'string'){

                eval(item.handler); 

}else{

            item.handler(); 

}

        return;

}

        this.setActiveItem(index);

}

 

 

如此修改后,在创建TabPanel时,如果需要某个Tab点击执行事件,只需要给该Tab一个handler属性,如:

 

Ext.create('Ext.tab.Panel',{

tabBar: {

docked: 'bottom',

layout: {

type: 'hbox',

align: 'middle'

}

},

items: [{

title: '首页',

            iconCls: 'home'

},{

title: '好友',

iconCls: 'user',

handler: function(){

alert('==========');

}

},{

title: '信息',

iconCls: 'mail'

},{

iconCls: 'favorites',

title  : '战利品',

},{

iconCls: 'more',

title: '更多'

  }]

});

 

如此在点击好友这个Tab的时候会弹出=========的提示,而在点击其他Tab的时候就会进行页面切换。


    
[2] WP7模拟器运用技巧
    来源: 互联网  发布时间: 2014-02-18
WP7模拟器使用技巧

  一、开启/关闭电脑键盘输入
  WP7模拟器默认状态只能通过模拟出来的QWERTY键盘输入,用鼠标一个一个点太慢了,以下总结了开启/关闭电脑键盘输入的方法,详细操作步骤如下:
  首先打开模拟器,在需要输入文字的地方点击鼠标,这时按下电脑键盘的PageUp键即可开启键盘输入,同时虚拟键盘将会自动关闭。如果需要关闭电脑键盘输入开启虚拟键盘,只要再用同样的方法按PageDown键即可。
    
  二、其他快捷键
  F1键:模拟WP7手机返回键,长按会弹出最近运行的任务界面。
  F2键:模拟WP7手机主页键,长按可以快捷启动语音识别,第一次运行需要点“接受”。
  F3键:模拟WP7手机搜索键,第一次运行需要点“接受”。
  F7键:模拟WP7手机快门键,按一下可以启动模拟器相机功能,再按一下可以模拟拍照。
  F9键:模拟WP7手机的音量增大键。
  F10键:模拟WP7手机的音量减小键。
  F11键:音乐播放控制:播放/停止,长按可以快捷启动语音识别功能。
  Windows键:功能同F2键


    
[3] UIView创设不规则视图
    来源: 互联网  发布时间: 2014-02-18
UIView创建不规则视图
原文地址:http://xubenyang.me/309

总所周知,UIView都是方形的,并不能产生一个不规则的形状的view(小弟才疏学浅,目前确实没有发现能够创建真实不规则视图的方法,如果有,不吝赐教,感激涕零!)。为什么我们有创建不规则view的需求?如果只是为了在View上显示不规则图形那大可不必,直接讲不规则图形添加到view上,然后讲view的backgroundColor设置为UIColor clearColor就可以;但是之所以有这样的需求,很大部分就是为了判断不规则的图形去响应触摸事件,判断图形是否被触摸选中了这样的要求,我们最直接的想法就是每个不规则图形都是一个view,那么图形是否选中就可以通过UIResponder的那一系列触摸有关的响应函数得知了,所以这个时候我们就需要不规则的view。但是显示的杯具是,iOS并没有提供这样的不规则view,如果要完成刚才的需求,就只能手动判断触摸的点是否在不规则图形里面了,这有的时候将是一件比较痛苦的事情。那么现在提供一种“创建不规则view”的:

不知道大家有没有注意到UIView有这样一个函数:- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event 这个函数就是用来判断指定的点是否在View内,我们方法就是在这个函数中,如果point在指定的不规则图形内返回YES,反之就返回NO。这样不规则图形的bounds就相当于代表了view自己的bounds。这样当你触摸view的时候,当且只有当触摸到指定图形内才会使得view被触摸到,才会调用到UIResponder一系列触摸响应事件。

代码如下:

RoundView.h

@interface MyView : UIView {
  UIBezierPath *_path;
}

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event;

@end
RoundView.m


// Print current selector's name
#define PRINT_CURRENT_SEL NSLog(@"<%@> %@", NSStringFromClass([self class]),NSStringFromSelector(_cmd))

//
// PrivateMethods
// This category provide private apis for RoundView class
//
@interface RoundView(PrivateMethods)

// Initialize all view's state
- (void)_init;

// Highlight view's border, better visual effect for testing.
- (void) _highlightBorder;

@end
@implementation RoundView(PrivateMethods)

- (void)_init{
  [self _highlightBorder];
  self.backgroundColor = [UIColor clearColor];

  // Create path object as round rect
  _path = [[UIBezierPath bezierPathWithRoundedRect:CGRectInset(self.bounds,  20, 20) cornerRadius:60] retain];
}

- (void) _highlightBorder{
  CALayer *theLayer = [self layer];
  theLayer.borderColor = [UIColor blueColor].CGColor;
  theLayer.borderWidth = 2;
}

@end

#pragma mark -

@implementation RoundView

- (id)initWithCoder:(NSCoder *)aDecoder{
  if((self = [super initWithCoder:aDecoder])){
    [self _init];
  }
  return self;
}

- (id)initWithFrame:(CGRect)frame {
  if ((self = [super initWithFrame:frame])) {
    [self _init];
  }
  return self;
}

- (void)drawRect:(CGRect)rect {
  [[UIColor redColor] setFill];
  [_path fill];
}

- (void)dealloc {
  [_path release];

  [super dealloc];
}

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
  return [_path containsPoint:point];
}

#pragma mark -
#pragma mark UIResponder touches

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
  PRINT_CURRENT_SEL;
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
  PRINT_CURRENT_SEL;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
  PRINT_CURRENT_SEL;
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{
  PRINT_CURRENT_SEL;
}
@end

这个demo中用到了3.2以后提供的UIBezierPath类,来创建一个图形的path,在pointInside:withEvent:中判断点是不是在图形的里面,如果是返回YES,反之NO。这样就用找个图形的path代表了view的bounds。那么即使你触摸在view内但是没有在找个图形上,touchesBegan就不会被调用,不会打印相应信息在console中。
所以这样这个view的边界就变成了这个不规则图形的边界了,就变相地创建出了一个不规则的view了!cheers!

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3