2013年9月1日星期日

IceMx.Mvc 我的js MVC 框架 开篇 - 飞翔吧菜鸟

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
IceMx.Mvc 我的js MVC 框架 开篇 - 飞翔吧菜鸟  阅读原文»

这篇文章是后补的,前端时间想写一些对于js开发的一些理解,就直接写了,后来发现很唐突,所以今天在这里补一个开篇。

我的js Mvc 框架 基于实用设计,过分设计等于没设计。本着简单的原则,它只实现以下2点。

1、html代码、逻辑、数据处理的分离。

2、组件化

对于现在web页面交互性要求越来越强的情况,开发复杂的js段应用就必不可少。

就拿一个评论模块来讲,你可能要求它调用简单、参数可配置、组件化。

组件化就不用说了,你肯定不希望你写的代码到处复制了。

以前我自己写js组件的时候最原始的办法是把html代码 隐藏在页面里,用的时候show一下

后来发现这样的话每个页面都要写一堆隐藏代码

所以就改进一下,把html代码用js用字符串拼接出来,这样就可以再各个地方调用了。

但是后来发现这样的代码维护很困难,而且不利于阅读。

于是就先到了分离

先来上一段组件调用代码

1 var discussController, FACE;
2
3 IceMx.Mvc.Get("Discuss","Face");
4
5 IceMx.Event.AddEvent("MvcLoadOver", function () {
6 FACE = new FaceController();
7 discussController = new DiscussController();
8 discussController.GetBody().appendTo("#panelDiscuss");
9 });

这是一个评论模块儿的调用,其实这里面包含了两个组件,我把评论里的表情也分离出来了,以后想其他地方加入表情只要new这个表情对象就ok了。

这样的调用实现了组件化。

再来看看目录结构

尤其是html代码的分离是很有必要的

框架会动态载入对应的控制器、模型、视图并且将视图绑定到控制器的变量内。

就先写这么多吧,随后会逐步完整共享出来,想法很浅薄,望高手提供宝贵意见。


本文链接:http://www.cnblogs.com/ajimidan/p/3296122.html,转载请注明。

android自定义动画 - boliu  阅读原文»

前一篇说了实现过程,这次来写一个自己简单实现的3d动画

先来属性声明配置,方便使用xml 文件来定制动画

<!-- 有些类型其实是没必要的,只是实例代码,为了更具有代表性 -->
<declare-styleable name="CubeAnimation">
<attr name="fromX" format="dimension|fraction|float"/>
<attr name="toX" format="dimension|fraction|float"/>
<attr name="fromDegree" format="float"/>
<attr name="toDegree" format="float"/>
<attr name="axisY" format="float|integer"/>
<attr name="positive" format="boolean"/>
</declare-styleable>

配置参数相关的一些解释

  dimension 像素值类型,包括有"px", "dip", "sp", "pt", "in", "mm", 一般用TypedValue.complexToDimension解析
  fraction 分数,一般用来表示占的百分比,"%", "%p"。 一般用TypedValue.complexToFraction解析 有时候和float类型功能通用
  float 浮点数。当确定是这个类型的时候,用TypedValue.getFloat解析
  integer 整数,TypedValue.data 就是这个值。
  后两者,如果参数只有确定的一个类型,直接用TypedArray 的 getInteger 或者 getFloat方法就可以获取

动画配置

<!-- 命名空间神马的就不说了 -->
<?xml version="1.0" encoding="utf-8"?>
<cube
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cs
="http://schemas.android.com/apk/res/com.example.testwifi"
android:duration
="2000"
android:repeatCount
="5"
cs:fromDegree
="0"
cs:toDegree
="1440"
cs:fromX
="50"
cs:toX
="90%p"
cs:axisY
="0.5"
cs:positive
="true"/>

含在集合内的动画配置

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cs
="http://schemas.android.com/apk/res/com.example.testwifi">
<cube
cs:fromDegree="0"
cs:toDegree
="1440"
cs:fromX
="50"
cs:toX
="90%p"
cs:axisY
="0.5"
cs:positive
="true/>
<scale
android:interpolator="
@android:anim/accelerate_decelerate_interpolator"
android:fromXScale
="1.0"
android:toXScale
="1.4"
android:fromYScale
="1.0"
android:toYScale
="0.6"
android:pivotX
="50%"
android:pivotY
="50%"
android:fillAfter
="false"
android:duration
="700" />
</set>

动画类的代码

public class CubeAnimation extends Animation {

private float mFromDegrees;
private float mToDegrees;

private int mFromXType = ABSOLUTE;;
private float mFromX = 0;
private int mFromXdata = 0;

private int mToXType = ABSOLUTE;
private float mToX = 0;
private int mToXData = 0;

private Camera mCamera;
private Resources mResources;
private float mAxisY = 0;
private int mAxisYType = ABSOLUTE;

public CubeAnimation(float fromX,float toX,float fromDegree,

没有评论:

发表评论