📄 css.java
字号:
package com.gameislive.browser;
import java.util.Vector;
import javax.microedition.lcdui.Image;
/**
* CSS层叠样式,目前仅支持少量的,基本的样式
*
* @author pan
* @version 1.0.1
*/
public class Css {
static final int ALIGN_LEFT = 0;
static final int ALIGN_CENTER = 1;
static final int ALIGN_RIGHT = 2;
int margin_top;
int margin_bottom;
int margin_left;
int margin_right;
int width;
int height;
int bgColor;
int foreColor;
int padding_top;
int padding_bottom;
int padding_left;
int padding_right;
int text_align;
int font_size;
Image bgImg;
Browser browser;
static final int _default_padding_top = 0;
static final int _default_padding_bottom = 1;
static final int _default_padding_left = 0;
static final int _default_padding_right = 1;
static final int _default_foreColor = 0x000000;
static final int _default_bgColor = 0xffffff;
public Css(Vector data,Css head,Browser browser){
this.browser = browser;
defaultCss();
// 如果上级标记的CSS不为空,则先用上级标记的CSS初始化
if(head!=null) copyCss(head);
// 加载自己的CSS样式(可能覆盖上级标记的)
if(data!=null) loadCss(data);
}
public Css(Browser browser){
this.browser = browser;
defaultCss();
}
void copyCss(Css css){
// 主要是字体样式的复制
foreColor = css.foreColor;
font_size = css.font_size;
}
/**
* 默认的样式
*/
void defaultCss(){
margin_top=0;
margin_bottom=0;
margin_left=0;
margin_right=0;
width=0;
height=0;
bgColor=_default_bgColor;
foreColor=_default_foreColor;
padding_top = _default_padding_top;
padding_bottom = _default_padding_bottom;
padding_left = _default_padding_left;
padding_right = _default_padding_right;
text_align=ALIGN_LEFT;
font_size=12;
bgImg = null;
}
void loadCss(Vector tmp){
int num = tmp.size();
for(int i=0;i<num;i++){
String str = (String)tmp.elementAt(i);
int pos = str.indexOf(':');
if(pos==-1) continue;
String name = str.substring(0,pos).toLowerCase();
String value = str.substring(pos+1,str.length()-1);
value = Tools.RepString(value,"#","");
value = Tools.RepString(value,"px","");
// margin
if(name.equals("margin")){
margin_top = margin_bottom = margin_left =
margin_right = Integer.parseInt(value);
}else if(name.equals("margin-top")){
margin_top = Integer.parseInt(value);
}else if(name.equals("margin-bottom")){
margin_bottom = Integer.parseInt(value);
}else if(name.equals("margin-left")){
margin_left = Integer.parseInt(value);
}else if(name.equals("margin-right")){
margin_right = Integer.parseInt(value);
}
// size,color,bgcolor
else if(name.equals("width")){
width = Integer.parseInt(value);
}else if(name.equals("height")){
height = Integer.parseInt(value);
}else if(name.equals("background-color")){
bgColor = Integer.parseInt(value,16);
}else if(name.equals("color")){
try{
foreColor = Integer.parseInt(value,16);
}catch(Exception e){
foreColor = Tools.GetColor(value);
}
}
// padding
else if(name.equals("padding")){
padding_top = padding_bottom = padding_left =
padding_right = Integer.parseInt(value);
}else if(name.equals("padding-top")){
padding_top = Integer.parseInt(value);
}else if(name.equals("padding-bottom")){
padding_bottom = Integer.parseInt(value);
}else if(name.equals("padding-left")){
padding_left = Integer.parseInt(value);
}else if(name.equals("padding-right")){
padding_right = Integer.parseInt(value);
}
// align
else if(name.equals("text-align")){
if(value.equals("right")){
text_align = ALIGN_RIGHT;
}else if(value.equals("center")){
text_align = ALIGN_CENTER;
}else{
text_align = ALIGN_LEFT;
}
}
else if(name.equals("float")){
}
// bg-img
else if(name.equals("background-image")){
// url(../img/idx_titlebk.gif)
if(!value.equals("")){
value = Tools.RepString(value, "url", "");
value = Tools.RepString(value, "(", "");
value = Tools.RepString(value, ")", "");
value = Tools.RepString(value, "../", "");
if(!value.equals("")){
// load image from server
bgImg = browser.loadImage(value);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -