📄 aboutscreen.java
字号:
/*
* Created on 2006-5-22
*
*/
package com.thinkenjoy.feitian.screen;
import java.util.Vector;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import com.thinkenjoy.control.ActorCanvas;
import com.thinkenjoy.control.Control;
import com.thinkenjoy.control.ThreadCanvas;
import com.thinkenjoy.control.KeyMap;
import com.thinkenjoy.tools.Tools;
/**
*
* 关于
*/
public class AboutScreen extends ActorCanvas{
private static final int TEXTBOX_START_X = 10;
private static final int TEXTBOX_START_Y = 25;
private static final int TEXTBOX_WIDTH = ThreadCanvas.SCREEN_WIDTH - 20;
private static final int TEXTBOX_HEIGHT = ThreadCanvas.SCREEN_HEIGHT - 50;
/**
* 装关于文字的容器
*/
Vector sb;
/**
* 字体的高度,宽度
*/
private byte fontHeight;
private int textHeight;
/**
* 记录文字上下移动的距离
*/
private int updowns;
private String returnButton;
private int flashArrowDelay;
private int arrowColor;
private int buttonWidth;
public AboutScreen() {
updowns = 0;
sb = new Vector();
Tools.divideString(sb,"版本:Version 1.0.0",TEXTBOX_WIDTH);
Tools.divideString(sb,"Copy-right:",TEXTBOX_WIDTH);
Tools.divideString(sb,"电话:",TEXTBOX_WIDTH);
returnButton = "返回";
buttonWidth = Font.getDefaultFont().stringWidth(returnButton);
fontHeight = (byte) Font.getDefaultFont().getHeight();
textHeight = fontHeight * sb.size() + 20;
flashArrowDelay = 3;
arrowColor = 0xffffff;
}
public void paint(Graphics g){
g.setColor(0);
g.fillRect(0,0,ThreadCanvas.SCREEN_WIDTH,ThreadCanvas.SCREEN_HEIGHT);
g.setColor(0xffffff);
g.drawString("==关 于==",0,0,0);
g.setClip(TEXTBOX_START_X,TEXTBOX_START_Y,TEXTBOX_WIDTH,TEXTBOX_HEIGHT);
int j = 0;
for (int index = 0; index < sb.size(); index++) {
g.drawString((String) sb.elementAt(index), TEXTBOX_START_X, TEXTBOX_START_Y + fontHeight
* j-updowns, 0);
j++;
}
if (textHeight - updowns < TEXTBOX_HEIGHT) {
updowns = textHeight - TEXTBOX_HEIGHT;
}
g.setClip(0, 0, ThreadCanvas.SCREEN_WIDTH,
ThreadCanvas.SCREEN_HEIGHT);
g.setColor(arrowColor);
if (textHeight - updowns > TEXTBOX_HEIGHT) {
Tools.drawArrow(g, ThreadCanvas.SCREEN_WIDTH / 2,
ThreadCanvas.SCREEN_HEIGHT - 14, Tools.ARROW_DOWN);
}
if (updowns > 0) {
Tools.drawArrow(g, ThreadCanvas.SCREEN_WIDTH / 2, 14, Tools.ARROW_UP);
}
g.setColor(0xffffff);
//#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
//# g.drawString(returnButton,0,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
//#else
g.drawString(returnButton,ThreadCanvas.SCREEN_WIDTH - 40,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
//#endif
}
/**
* 刷新
*
*/
public void cycle(){
flashArrowDelay--;
if (flashArrowDelay <= 0) {
flashArrowDelay = 3;
arrowColor = 0xff0000;
} else {
arrowColor = 0xffffff;
}
}
/**
* 回收资源
*
*/
public void reCycle(){
sb = null;
System.gc();
}
protected void keyPressed(int keycode){
switch (keycode) {
case KeyMap.DOWN:
updowns += 10;
if (textHeight - updowns < TEXTBOX_HEIGHT) {
updowns = textHeight - TEXTBOX_HEIGHT;
}
break;
case KeyMap.UP:
updowns -= 10;
if (updowns < 0) {
updowns = 0;
}
break;
//#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
//# case KeyMap.LEFT_SOFT:
//#else
case KeyMap.RIGHT_SOFT:
//#endif
Control.returnOldFocus();
break;
default:
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -