Archive for February, 2015

作者:AngryFox 分类: Uncategorized February 13th, 2015 暂无评论

比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。
1.Shape
简介
作用:XML中定义的几何形状
位置:res/drawable/文件的名称.xml
使用的方法:
Java代码中:R.drawable.文件的名称
XML中:Android:background=”@drawable/文件的名称”
属性:
Android:shape=["rectangle" | "oval" | "line" | "ring"]
其中rectagle矩形,oval椭圆,line水平直线,ring环形
中子节点的常用属性:
渐变
Android:startColor 起始颜色
Android:endColor 结束颜色
Android:angle 渐变角度,0从上到下,90表示从左到右,数值为45的整数倍默认为0;
Android:type 渐变的样式 liner线性渐变 radial环形渐变 sweep
填充
Android:color 填充的颜色
描边
Android:width 描边的宽度
Android:color 描边的颜色
Android:dashWidth 表示’-'横线的宽度
Android:dashGap 表示’-'横线之间的距离
圆角
Android:radius 圆角的半径 值越大角越圆
Android:topRightRadius 右上圆角半径
Android:bottomLeftRadius 右下圆角角半径
Android:topLeftRadius 左上圆角半径
Android:bottomRightRadius 左下圆角半径
2.Selector
简介
位置:res/drawable/文件的名称.xml
使用的方法:
Java代码中:R.drawable.文件的名称

XML中:Android:background="@drawable/文件的名称"
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:Android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->
<item Android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item
   Android:state_window_focused="false"
   android:drawable="@drawable/pic_blue"
   />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item
   Android:state_focused="true"
   android:state_pressed="true"
   android:drawable= "@drawable/pic_red"
   />
<!-- 触摸模式下单击时的背景图片-->
<item
   Android:state_focused="false"
   Android:state_pressed="true"
   Android:drawable="@drawable/pic_pink"
   />
<!--选中时的图片背景-->
<item
   Android:state_selected="true"
   android:drawable="@drawable/pic_orange"
   />
<!--获得焦点时的图片背景-->
<item
   Android:state_focused="true"
   Android:drawable="@drawable/pic_green"
   />
</selector> 

第一个例子:圆角的Button

三种方法可以来引用刚才创建的文件:

(1)在ListView中添加如下属性代码
android:listSelector=”@drawable/mylist_view”

(2)在ListView的item界面中添加如下属性代码
android:background=”@drawable/mylist_view”

(3)利用JAVA代码直接编写
Drawable drawable = getResources().getDrawable(R.drawable.mylist_view);
listView.setSelector(drawable);

为了防止列表拉黑的情况发生,需要在ListView中添加以下的属性代码
android:cacheColorHint=”@android:color/transparent”
属性介绍:
android:state_selected选中
android:state_focused获得焦点
android:state_pressed点击
android:state_enabled设置是否响应事件,指所有事件

作者:AngryFox 分类: Uncategorized February 3rd, 2015 暂无评论

iOS工程中没有像Java那样非常严格的分包机制,不过在iOS工程中我们也可以通过Group的方式在工程中实现逻辑分包,这样更有利于我们组织和管理代码,使工程结构更清晰和易于理解。在我的工程结构中,主要有如下group:
Application:这个group中放的是AppDelegate和一些系统常量及系统配置文件;
Base:一些基本父类,包括父ViewController和一些公用顶层自定义父类,其他模块的类一般都继承自这里的一些类;
Controller:系统控制层,放置ViewController,均继承于Group Base中的BaseViewController或BaseTableViewController;
View:系统中视图层,由于我比较喜欢通过代码实现界面,所以这里放的都是继承于UIView的视图,我将视图从ViewController中分离出来全部放在这里,这样能保持ViewController的精简;
Model:系统中的实体,通过类来描述系统中的一些角色和业务,同时包含对应这些角色和业务的处理逻辑;
Handler:系统业务逻辑层,负责处理系统复杂业务逻辑,上层调用者是ViewController;
Storage:简单数据存储,主要是一些键值对存储及系统外部文件的存取,包括对NSUserDefault和plist存取的封装;
Network:网络处理层(RTHttpClient),封装了基于AFNetworking的网络处理层,通过block实现处理结果的回调,上层调用者是Handler层;
Database:数据层,封装基于FMDB的sqlite数据库存取和管理(RTDatabaseHelper),对外提供基于Model层对象的调用接口,封装对数据的存储过程。
Utils:系统工具类(AppUtils),主要放置一些系统常用工具类;
Categories:类别,对现有系统类和自定义类的扩展;
Resource:资源库,包括图片,plist文件等;

CGFloat: 浮点值的基本类型
CGPoint: 表示一个二维坐标系中的点
CGSize: 表示一个矩形的宽度和高度
CGRect: 表示一个矩形的位置和大小

需要使用@protocol声明,委托一般在iOS开发中页面中传值用的比较多

http://www.cnblogs.com/lovewx/p/4013782.html

http://www.cnblogs.com/xiguain/p/4011262.html