preload

Android android:gravity属性介绍及效果图

android:gravity的属性官方说明如下: public static final int AXIS_CLIP Since: API Level 3 Raw bit controlling whether the right/bottom edge is clipped to its container, based on the gravity direction being applied. Constant Value: 8 (0x00000008) public static final int AXIS_PULL_AFTER Since: API Level 1 Raw bit controlling how the right/bottom edge is placed. Constant Value: 4 (0x00000004) public static final int AXIS_PULL_BEFORE Since: API Level 1 Raw bit controlling how the left/top edge is placed. Constant Value: 2 (0x00000002) public static final int AXIS_SPECIFIED Since: API Level 1 Raw bit indicating the gravity for an axis has been specified. Constant Value: 1 (0x00000001) public static final int AXIS_X_SHIFT Since: API Level 1 Bits defining the horizontal axis. Constant Value: 0 (0x00000000) public static final int AXIS_Y_SHIFT Since: API Level 1 Bits defining the vertical axis. Constant Value: 4 (0x00000004) public static final int ...

Android的系统架构

从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层,分别介绍如下: 1)应用程序层 Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是       用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个    性化。   2)应用程序框架层 应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提   ...

“Media”让网页更好的支持移动设备

CSS2.1规范最重要的新特性之一就是引入了media types,下边是media types的10个值,常用的并不多。当没有media标签时,默认为media="all": all-- 用于所有设备类型 aural-- 用于语音和音乐合成器 braille-- 用于触觉反馈设备 embossed-- 用于凸点字符(盲文)印刷设备 handheld-- 用于小型或手提设备 print-- 用于打印机 projection-- 用于投影图像,如幻灯片 screen-- 用于计算机显示器 tty-- 用于使用固定间距字符格的设备。如电传打字机和终端 tv-- 用于电视类设备 示例: @media print { body { font-size: 10pt } } @media screen { body { font-size: 13px } } @media screen, print { body { line-height: 1.2 } } 随着移动终端的发展,screen重要性逐渐显现出来。为了更好的支持移动终端设备, css3加强了media types,引入了Media ...

CSS3 Media Queries 详解

http://www.blueidea.com/tech/web/2010/7912.asp   http://www.w3.org/TR/CSS2/media.html#media-types ...

background-size 失效 bug

在chrome和firefox下测试background-size 会失效,解决办法是:background-size写在background-image后面 Google Chrome for MacBook Pro Retina bug ...

Android上dip、dp、px、sp等单位说明

dip  device independent pixels(设备独立像素). 不同设备不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 在android上开发的程序将会在不同分辨率的手机上运行。为了让程序外观不至于相差太大,所以引入了dip的概念。比如定义一个矩形10 x 10dip.在分辨率为160dpi的屏上,比如G1,正好是10 x 10像素。而在240 dpi的屏,则是15 x 15像素.换算公式为pixs = dips * (density/160). density就是屏的分辨率 。 这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有正确设置比如说还是160,那么这个时候凡是使用dip的都会显示异常,基本都是显示过小。 dip的换算: ...

android 线程间的通信

android 线程间的通信  andriod提供了 Handler 和 Looper 来满足线程间的通信。例如一个子线程从网络上下载了一副图片,当它下载完成后会发送消息给主线程,这个消息是通过绑定在主线程的Handler来传递的。 在Android,这里的线程分为有消息循环的线程和没有消息循环的线程,有消息循环的线程一般都会有一个Looper,这个事android的新 概念。我们的主线程(UI线程)就是一个消息循环的线程。针对这种消息循环的机制,我们引入一个新的机制Handle,我们有消息循环,就要往消息循环里 面发送相应的消息,自定义消息一般都会有自己对应的处理,消息的发送和清除,消息的的处理,把这些都封装在Handle里面,注意Handle只是针对那 ...

Android的线程使用来更新UI—-Thread、Handler、Looper、TimerTask等

方法一:(java习惯,在android不推荐使用) 刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { myView.invalidate(); } }).start(); 可以实现功能,刷新UI界面。但是这样是不行的,因为它违背了单线程模型:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。 方法二:(Thread+Handler) 查阅了文档和apidemo后,发觉常用的方法是利用Handler来实现UI线程的更新的。 Handler来根据接收的消息,处理UI更新。Thread线程发出Handler消息,通知更新UI。 Handler myHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case TestHandler.GUIUPDATEIDENTIFIER: myBounceView.invalidate(); ...

java线程系列—Runnable和Thread的区别

在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: package org.thread.demo; class MyThread extends Thread{ private String name; public MyThread(String name) { super(); this.name = name; } public void run(){ for(int i=0;i<10;i++){ System.out.println("线程开始:"+this.name+",i="+i); } } } package org.thread.demo; public class ThreadDemo01 { public static void main(String[] args) { MyThread mt1=new MyThread("线程a"); MyThread mt2=new ...

产品经理必读的九步法

多年以后,当我面对那些年青的产品经理,我会想起自己当年从事的是一份高薪的工作。那是2000年,我大学毕业后在北京一家IT网站做搜索引擎 PM,当时我一个月的薪水能在亚运村买一平方米房子,十年之后,朋友招聘PM,开出的月薪和我十年前一样,差别是这时年青的PM用一年的薪水才能在亚运村 ...