当前位置: 编程技术>移动开发
本页文章导读:
▪Workspace的1点分析 Workspace的一点分析
写道
1
computeScroll():重写了父类的computeScroll();主要功能是计算拖动的位移量、更新背景、设置要显示的屏幕(setCurrentScreen(mCurrentScreen);)
2
dispatchDraw():重写了父类.........
▪ 真个的自定Dialog 真正的自定Dialog
最近一直都在纠结如何自定对话框,目前总算找到,只要通过style进行设置就行了。<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="my_custom_dialog" parent="@android:styl.........
▪ e3roid游戏发动机的使用 e3roid游戏引擎的使用
e3roid游戏是一款基于了libgdx的box2d部分的一款2d开源游戏引擎。
博客地址:http://www.e3roid.com/blog/
基本的用法
package com.testnewengine;
import android.graphics.Color;
import android.........
[1]Workspace的1点分析
来源: 互联网 发布时间: 2014-02-18
Workspace的一点分析
写道
1
computeScroll():重写了父类的computeScroll();主要功能是计算拖动的位移量、更新背景、设置要显示的屏幕(setCurrentScreen(mCurrentScreen);)
2
dispatchDraw():重写了父类的dispatchDraw();主要功能是判断抽屉是否打开、绘制指定的屏幕,可以绘制当前一屏,也可以绘制当前屏幕和下一屏幕,也可以绘制所有的屏幕,这儿的绘制指显示屏幕上的child(例如:app、folder、Wiget)。和computeScroll()中的setCurrentScreen(mCurrentScreen);方法配合使用可以实现屏幕的拖动多少显示多少的功能。
3
onMeasure():重写了父类的onMeasure();主要功能是设置屏幕的显示大小。由每个child的measure()方法设置。
4
onLayout():重写了父类的onLayout();主要功能是设置屏幕的显示位置。由child的layout()方法设置。
5
onInterceptTouchEvent():重写了父类的onInterceptTouchEvent();主要功能是在onTouchEvent()方法之前处理touch事件。包括:down、up、move事件。
6
onTouchEvent():重写了父类的onTouchEvent();主要功能是处理onInterceptTouchEvent()返回值为true时传递过来的touch事件。
7
1)用xy记录鼠标移动时的坐标值;
mLastMotionX和mLastMotionY记录了上次鼠标按下时的XY值,在ACTION_MOVE中赋值;
2) xDiff和yDiff记录xy与mLastMotionX、mLastMotionY差值的绝对值;
touchSlop为系统定义的标准值,初值为16;
3) 当xDiff和yDiff大于touchSlop时就认为界面拖动了足够大的距离,屏幕就可以移动了;
4)当onInterceptTouchEvent()返回true时进入onTouchEvent()
computeScroll():重写了父类的computeScroll();主要功能是计算拖动的位移量、更新背景、设置要显示的屏幕(setCurrentScreen(mCurrentScreen);)
2
dispatchDraw():重写了父类的dispatchDraw();主要功能是判断抽屉是否打开、绘制指定的屏幕,可以绘制当前一屏,也可以绘制当前屏幕和下一屏幕,也可以绘制所有的屏幕,这儿的绘制指显示屏幕上的child(例如:app、folder、Wiget)。和computeScroll()中的setCurrentScreen(mCurrentScreen);方法配合使用可以实现屏幕的拖动多少显示多少的功能。
3
onMeasure():重写了父类的onMeasure();主要功能是设置屏幕的显示大小。由每个child的measure()方法设置。
4
onLayout():重写了父类的onLayout();主要功能是设置屏幕的显示位置。由child的layout()方法设置。
5
onInterceptTouchEvent():重写了父类的onInterceptTouchEvent();主要功能是在onTouchEvent()方法之前处理touch事件。包括:down、up、move事件。
6
onTouchEvent():重写了父类的onTouchEvent();主要功能是处理onInterceptTouchEvent()返回值为true时传递过来的touch事件。
7
1)用xy记录鼠标移动时的坐标值;
mLastMotionX和mLastMotionY记录了上次鼠标按下时的XY值,在ACTION_MOVE中赋值;
2) xDiff和yDiff记录xy与mLastMotionX、mLastMotionY差值的绝对值;
touchSlop为系统定义的标准值,初值为16;
3) 当xDiff和yDiff大于touchSlop时就认为界面拖动了足够大的距离,屏幕就可以移动了;
4)当onInterceptTouchEvent()返回true时进入onTouchEvent()
[2] 真个的自定Dialog
来源: 互联网 发布时间: 2014-02-18
真正的自定Dialog
最近一直都在纠结如何自定对话框,目前总算找到,只要通过style进行设置就行了。<?xml version="1.0" encoding="utf-8"?>
<resources> <style name="my_custom_dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">false</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@null</item> <item name="android:backgroundDimEnabled">false</item> </style> </resources>
然后在创建对话框时用如下方式
View view = View.inflate(this, R.layout.my_custom_dialog_content_layout, null); //R.layout.my_custom_dialog_content_layout就是你要显示的内容的布局文件,想显示什么就在这里设置 dialog.setContentView(view);
[3] e3roid游戏发动机的使用
来源: 互联网 发布时间: 2014-02-18
e3roid游戏引擎的使用
e3roid游戏是一款基于了libgdx的box2d部分的一款2d开源游戏引擎。
博客地址:http://www.e3roid.com/blog/
基本的用法
package com.testnewengine; import android.graphics.Color; import android.graphics.Typeface; import com.e3roid.E3Activity; import com.e3roid.E3Engine; import com.e3roid.E3Scene; import com.e3roid.drawable.Sprite; import com.e3roid.drawable.sprite.TextSprite; import com.e3roid.drawable.texture.AssetTexture; import com.e3roid.util.Debug; import com.e3roid.util.FPSListener; public class TestNewEngine extends E3Activity{ TextSprite label; @Override public E3Engine onLoadEngine() { E3Engine engine = new E3Engine(this, 480, 800); return engine; } @Override public void onLoadResources() { label = new TextSprite("hello,e3roid!", 100, Color.BLACK, 0, Typeface.DEFAULT, this); label.setPosition(100, 100); } @Override public E3Scene onLoadScene() { E3Scene scene = new E3Scene(); scene.addEventListener(this); scene.getTopLayer().add(label); return scene; } }
最新技术文章: