存档

2009年11月 的存档

关于工作室

2009年11月7日 管理员 1 条评论

广州萌芽工作室(Guangzhou Seed Studio)是一个专注于广州以及珠江三角洲PHP+MYSQL系统外包开发的专业团队,专业于广州PHP开发、广州网站建设、广州PHP培训、广州PHP外包、广州OA定制。

工作室业务:网站设计、程序优化、网站建设、网站设计、项目外包、服务外包、网站优化、办公系统、系统安全。

我们专注定制PHP+MYSQL高负载网络商城系统、行业门户网站、分类信息系统、B2B系统、B2C系统、企业文档管理系统、百科系统、企业门户网站………

电话:020-85524025

 手机:13480261415

 EMAIL:biaoest@gmail.com

 OICQ :190885451

 MSN:biaoest@hotmail.com

地址:广州天河工业园华翠街100之一10号车库

网址:http://www.gzseed.com

工作室办公室,虽然只是一个车库,但是环境还不错。

解决ie6png格式bug

2009年11月29日 hongsite 没有评论

    PNG(Portable Network Graphics)格式图片可以表现更为绚丽多彩的颜色,常见的一些具有矢量效果的图片、图标都采用png格式,但是具有透明背景的png格式图片在IE6中却不是背景透明的,透明背景部分会显示出#DBEAED的淡灰色,表现效果很糟糕,为了使用透明背景图片只有采用gif格式了,但是gif格式会出现明显的锯齿效果,所以只有设法修复IE6的这个问题。解决的办法就是使用IE的Microsoft.AlphaImageLoader滤镜。

    如果希望使用png格式图片作为DOM元素的背景,那么就可以使用滤镜来加载png图片:
    css代码:.png{background: url(images/angel.png) no-repeat !important;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=”images/angel.png”);background:none;  width:100px;height:100px;}
    HTML代码:<div class=”png”>背景PNG透明</div>

    如果png格式的图片不是用来做元素背景,而是直接引入的img图像,那么此时可以把此img标签的src属性替换为一张空的透明gif图像,然后再把png图片加载为元素的背景就可以了。首先要准备一张空白透明的gif图片,一般命名为blank.gif(可自己另起名字),然后就可以替换png图像了。但是手工替换不太现实,最好一段代码就解决问题:
    css代码:
    .mypng img {
      azimuth: expression(
         this.pngSet?this.pngSet=true:
       (this.nodeName == “IMG” &&  this.src.toLowerCase().indexOf(’.png’)>-1?
      (this.runtimeStyle.backgroundImage = “none”,
      this.runtimeStyle.filter = “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’” + this.src + “‘,sizingMethod=’image’)”,
      this.src = “blank.gif”)
      :  (this.origBg = this.origBg?
      this.origBg
      :this.currentStyle.backgroundImage.toString().replace(’url(”‘,”).replace(’”)’,”),
      this.runtimeStyle.filter = “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’” + this.origBg + “‘, sizingMethod=’crop’)”,
      this.runtimeStyle.backgroundImage = “none”)),
      this.pngSet=true);
    }
    html代码:<div class=”mypng”><img src=”图片路径” /></div>

分类: DIV+CSS 标签:

Android1.6手势识别

2009年11月26日 chrisho 没有评论

很高兴能在Android1.6的sdk看到手势识别这一功能,之前一直在想,如何在android中实现nds游戏那样用手势(准确点应该是笔势)来控制游戏角色?现在总算看到一点曙光了,不过手势要做到笔势那样随心所欲地控制游戏人物,还有很多细节问题需要处理。

    在Android1.6的模拟器里面预装了一个叫Gestures Builder的程序,这个程序就是让你创建自己的手势的(Gestures Builder的源代码在sdk问samples里面有,有兴趣可以看看)。创建的手势将被保存到/sdcard/gestures里面,把这个文件复制到你的工程/res/raw下,你就可以在你的工程里面使用这些手势了。复制到/res/raw下的手势是只读的,也就是说你不能修改或增加手势了,如果想实现增改的话,可以直接加载sd卡里面的gestures文件。

    在例子中,我创建了这样的手势:

53068318-4f51-33ef-810c-b431d066fd80

第二步:在layout里面创建GestureOverlayView,这个透明的view就是让你在上面画手势用的,可以叠在其他View上面:

 <?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android
    android:orientation=”vertical”
    android:layout_width=”fill_parent”
    android:layout_height=”fill_parent”
    >
<TextView 
    android:layout_width=”fill_parent”
    android:layout_height=”wrap_content”
    android:text=”@string/hello”
    />
<android.gesture.GestureOverlayView
    android:id=”@+id/gestures”
    android:layout_width=”fill_parent”
    android:layout_height=”0dip”
    android:layout_weight=”1.0″
    />
</LinearLayout>

第三步:载入Gesture:

mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
        if (!mLibrary.load()) {
            finish();
        }

第四步:增加响应函数OnGesturePerformedListener

GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
        gestures.addOnGesturePerformedListener(this);

以上四步就可以实现简单的Gesture识别原型了:

程序运行结果如下,书写一个a字,程序识别出,然后toast一个a出来:

 a0644667-f71b-39bf-aaeb-d76f1552c614

完整代码如下:

package com.ray.test;

import java.util.ArrayList;

import android.app.Activity;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.Prediction;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.os.Bundle;
import android.widget.Toast;

public class TestGesture extends Activity implements OnGesturePerformedListener{

 GestureLibrary mLibrary;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
        gestures.addOnGesturePerformedListener(this);
        mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
        if (!mLibrary.load()) {
            finish();
        }
    }

 @Override
 public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
  ArrayList predictions = mLibrary.recognize(gesture);

     // We want at least one prediction
     if (predictions.size() > 0) {
         Prediction prediction = (Prediction) predictions.get(0);
         // We want at least some confidence in the result
         if (prediction.score > 1.0) {
             // Show the spell
             Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT).show();
         }
     }
  
 }
}

文章参考了android博客上面的这篇文章: http://feedproxy.google.com/~r/blogspot/hsDu/~3/Rrgh3YnIqig/gestures-on-android-16.html

分类: 移动终端 标签:

Div+CSS的优点

2009年11月3日 hongsite 没有评论

    Div+CSS布局的优点:

    业界越来越关注DIV+CSS的标准化设计,大到各大门户网站,小到不计其数的个人网站,在Div+CSS标准化的影响下,网页设计人员已经把这一要求作为行业标准。那么什么是Div+CSS标准?Div+CSS的标准化设计到底有什么好处?

    Div 全称 division 意为“区分”使用 DIV 的方法跟使用其他 tag 的方法一样。

    如果单独使用 DIV 而不加任何 CSS, 那么它在网页中的效果和使用 <P></P> 是一样的。DIV本身就是容器性质的,你不但可以内嵌table还可以内嵌文本和其它的HTML代码。

    CSS是Cascading style Sheets的简称,中文译作“层叠样式表单”,在主页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。在网上没有使用过CSS的网页可能不好找。不管你用什么工具软件制作网页,都有在有意无意地使用CSS。用好CSS能使你的网页更加简炼,同样内容的网页,有的人做出来有几十KB,而高手做出来只有十几KB。

    Div+CSS标准的优点:

    1.大大缩减页面代码,提高页面浏览速度,缩减带宽成本。

    2.结构清晰,容易被搜索引擎搜索到,天生优化了seo。

    3.CSS非常容易编写。你可以象写html代码一样轻松地编写CSS。

    4.缩短改版时间。只要简单的修改几个CSS文件就可以重新设计一个有成百上千页面的站点。

    5.强大的字体控制和排版能力。CSS控制字体的能力比糟糕的FONT标签好多了,有了CSS,我们不再需要用FONT标签或者透明的1 px GIF图片来控制标题,改变字体颜色,字体样式等等。 

    6.提高易用性。使用CSS可以结构化HTML,例如:<p>标签只用来控制段落,heading标签只用来控制标题,table标签只用来表现格式化的数据等等。你可以增加更多的用户而不需要建立独立的版本。
 
    7.更好的控制页面布局。不用多说。

    8.表现和内容相分离。将设计部分剥离出来放在一个独立样式文件中,你可以减少未来网页无效的可能。

    9.更方便搜索引擎的搜索。用只包含结构化内容的HTML代替嵌套的标签,搜索引擎将更有效地搜索到你的内容,并可能给你一个较高的评价(ranking)。
 
    10.另外如果你不是javascrput的高手,你可以不必去写ID,只用class就可以。当客户端程序员写完程序,需要调整时候,你可以在利用他的ID进行控制。

    11.Table 中布局中,垃圾代码会很多,一些修饰的样式及布局的代码混合一起,很不利于直观。而Div 更能体现样式和结构相分离,结构的重构性强。

    12.在几乎所有的浏览器上都可以使用。

    13.以前一些非得通过图片转换实现的功能,现在只要用CSS就可以轻松实现,从而更快地下载页面。

    14.使页面的字体变得更漂亮,更容易编排,使页面真正赏心悦目。

    15.你可以轻松地控制页面的布局 。

    16.你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的行,那么整个站点的所有页面都会随之发生变动。

    17.Table 布局灵活性不大,你只能遵循 table tr td 的格式。而div 你可以 div ul li 也可以 ol li 还可以 ul li ……但标准语法最好有序的写。

分类: DIV+CSS 标签: