- 浏览: 579910 次
- 性别:
- 来自: 广州
最新评论
-
hxlniada:
[color=darkred][/color][size=sm ...
利用Handler来更新android的UI -
jack_ye:
...
检测Android中触摸屏手势的动作与坐标 -
z278013421:
Android Services使用示例 -
东方vs不败:
写的不错,挺好的
利用Handler来更新android的UI -
liangxping:
就是双缓存机制而已。
Android中SurfaceView的使用示例
文章列表
SurfaceView在游戏开发中有着举足轻重的地位,它对于画面的控制有着更大的自由度(不像View要用handler来更新,关于View的),但这方面的参考资料并不是太多,能找到的例子都有点喧宾夺主的感觉,不能把使用的流程清晰展示出来,下面是个简单的示例,力求把流程清楚展示,其他的可简则简。
程序效果:用线程画一个蓝色的长方形。
package com.ray.test;
/*
* SurfaceView的示例程序
* 演示其流程
*/
import android.app.Activity;
import android.content.Context;
imp ...
int screenWidth;
int screenHeight;
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();
- 2009-06-26 16:04
- 浏览 3568
- 评论(0)
在Android中,分别可以在xml中定义Animation,也可以在程序代码中定义,下面的小例子是利用RotateAnimation简单展示一下两种方法的用法,对于其他动画,如ScaleAnimation,AlphaAnimation,原理是一样的。
方法一:在xml中定义动画:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
...
程序效果:读入bitmap的数据流,解码,再画出来:
代码如下:
package com.ray.draw;
import java.io.InputStream;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
i ...
刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题
new Thread( new Runnable() {
public void run() {
myView.invalidate();
}
}).start();
然而发现这样是不行的,因为它违背了单线程模型:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。查阅了文档和apidemo后,发觉常用的方法是利用Handler来实现UI线程的更新的。
下面代码的功能很简单:画一个 ...
程序效果是:在屏幕上画一个圆,可以用鼠标任意移动到屏幕上任何一个地方:
package com.ray.view;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.MotionEvent;
import android. ...
很小很简单的程序,但很有用:
package com.ray.touch;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.TextView;
import android.widget.Toast;
public class TouchPaint extends Activity {
TextView tv;
@Override
public void onCreat ...
Android里的大部分widget都可以加进动画,下面是一个小示例:
先在res里创建anim文件夹,在里面创建动画配置文件1,shake.xml:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="10" ...
- 2009-06-04 10:13
- 浏览 2955
- 评论(0)
Android menu是Android开发中经常使用的,下面的例子是Menu使用的简单示例:
package com.enjoy.menu;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class SystemMenu extends Activity {
public static final int SAVE = ...
Android中提供一个叫Intent的类来实现屏幕之间的跳转,下面是一个简单的示例:
在应用中增加一个Activity(名字为.ForwardTarget),这需要修改AndroidManifest.xml文件,如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ray.forwa ...
在Andorid开发中经常遇到与SD卡有关的调试,比如MP3文件、图片文件等。
在使用模拟器开发时,可以通过硬盘来模拟SD卡。具体做法是:
1.创建一个SD卡镜像文件
打开cmd,我是进入到c盘根目录下,输入如下命令:mksdcard 1024M sdcard.img 该命令会在当前目录(我即是c盘根目录)下生成一个sdcard.img文件,该文件就是Android模拟器的SD卡镜像文件。 1024M表示1024兆,即该SD卡有1个G的容量,也可用K做单位(1M=1024K),K,M必须大写。 目前Android支持8M~128G的SD卡。
2.关联 ...
- 2009-06-03 13:19
- 浏览 5473
- 评论(0)
1.1版本的emulator在设置好环境变量后,直接在命令行中输入 emulator就可以启动了,但是1.5版本中加了个所谓的AVD(Android Virtual Device),AVD就相当于是一个模拟器的,不过你可以利用AVD创建基于不同版本的模拟器,然后使用emulator-avd avdName命令启动不同的模拟器,下面就介绍如何创建AVD:
1.查看当前支持版本(在列出的版本中我们需要记住id值,这个值在第2步中使用):
android list targets
2.创建AVD(最后的2表示创建1.5版本的avd):
android create avd – ...
在Activity的onCreate函数中,加入如下代码:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,
WindowManager.LayoutParams. FLAG_FULLSCREEN);
- 2009-06-03 12:52
- 浏览 9338
- 评论(1)
教育网无法从官网上下载jdk(主要是不能从cds.sun.com下载)的问题:
dns出来问题。原来设的dns虽然能找到cds.sun.com,但很可能下载链接需要跳转到另外一个服务器,而这个服务器的ip我们的dns找不到。所以无论是浏览器另存还是强 ...