Blackberry 6,7 java环境下开发页面之Field 图片按钮
来源:互联网 发布:刀剑神域源码记录下载 编辑:程序博客网 时间:2024/04/30 23:28
经过一年的黑莓开发,总结一些东西,记录遇到过的一些问题。
这里主要记录跟页面排版有关的问题:
图片的组合,有时我们需要把两个图片组合到一起,如文字与背景图片组成一个图片按钮 或者是 文字图片与背景图片组合而成的图片按钮 ,以及选中按钮时背景图片切换为选中状态。 这些都用到了Field这个类,这个类是BB6,7页面排盘中非常重要的,你可以重写Field来实现你想要的排版.
这里主要记录跟页面排版有关的问题:
图片的组合,有时我们需要把两个图片组合到一起,如文字与背景图片组成一个图片按钮 或者是 文字图片与背景图片组合而成的图片按钮 ,以及选中按钮时背景图片切换为选中状态。 这些都用到了Field这个类,这个类是BB6,7页面排盘中非常重要的,你可以重写Field来实现你想要的排版.
以图片按钮为例:
import net.rim.device.api.system.Bitmap;import net.rim.device.api.system.Characters;import net.rim.device.api.ui.Field;import net.rim.device.api.ui.Graphics;/* * Image combination switch focus * * */public class BitmapButtonField2 extends Field{private Bitmap _pic;//文字图片private Bitmap _picback;//背景图片private Bitmap _picbackselected;//选中时的背景图片private int _width;//要显示的宽度private int _height;//要显示的高度/* * pic Main Image * picback Background image * picbackselected Select the picture you want to switch when * * */public BitmapButtonField2(Bitmap pic,Bitmap picback,Bitmap picbackselected ,int width,int height){this(pic,picback,picbackselected,width,height,0);}public BitmapButtonField2(Bitmap pic,Bitmap picback,Bitmap picbackselected,int width,int height,long style){super(Field.FOCUSABLE|style);this._pic=pic;this._picback=picback;this._picbackselected=picbackselected;this._width=width;this._height=height;}protected void layout(int width, int height) {setExtent(_width, _height);}protected void paint(Graphics graphics) {if(isFocus()&&_picbackselected!=null){//判断当前是否为选中状态//这里除2 计算横向画此图片时的起始位置 以保证图片居中显示int x1=(_width-_picbackselected.getWidth())/2;//这里除2 计算纵向画此图片时的起始位置 以保证图片居中显示int y1=(_height-_picbackselected.getHeight())/2;//首先画的是选中时背景图片graphics.drawBitmap(x1, y1, _picbackselected.getWidth(), _picbackselected.getHeight(), _picbackselected, 0, 0);int x2=(_width-_pic.getWidth())/2;int y2=(_height-_pic.getHeight())/2; //在背景图片上画文字图片graphics.drawBitmap(x2, y2, _pic.getWidth(), _pic.getHeight(), _pic, 0, 0);}else {//When not selectedint x1=(_width-_picback.getWidth())/2;int y1=(_height-_picback.getHeight())/2;//首先画的是未选中时背景图片graphics.drawBitmap(x1, y1, _picback.getWidth(), _picback.getHeight(), _picback, 0, 0);int x2=(_width-_pic.getWidth())/2;int y2=(_height-_pic.getHeight())/2;//在背景图片上画文字图片graphics.drawBitmap(x2, y2, _pic.getWidth(), _pic.getHeight(), _pic, 0, 0);}}protected boolean keyChar(char character, int status, int time) {if(character == Characters.ENTER){clickButton();return true;}return super.keyChar(character, status, time);}protected boolean navigationClick(int status, int time) {clickButton();return true;}protected boolean trackwheelClick(int status, int time) {clickButton();return true;}protected boolean invokeAction(int action) {switch (action){case ACTION_INVOKE:{clickButton();return true;}}return super.invokeAction(action);}public void clickButton(){fieldChangeNotify(0);}}
文字与图片组合可以将上面的
graphics.drawBitmap(x2, y2, _pic.getWidth(), _pic.getHeight(), _pic, 0, 0);
以上是自己开发是遇到的一些问题,自己总结的,若有什么不对的地方 还请大家提出,
0 0
- Blackberry 6,7 java环境下开发页面之Field 图片按钮
- Blackberry 6,7 java环境下 菜单Menu
- Blackberry 6,7 java环境下AES 128加密
- Blackberry 6,7 java环境下RSA加密 解密
- Blackberry 6,7 java环境下调用系统的短信,拨号功能
- BlackBerry Java 开发环境安装及入门(一)
- BlackBerry Java 开发环境安装及入门(二)
- BlackBerry Java 开发环境安装及入门(三)
- 黑莓开发环境搭建windows7+eclipse+BlackBerry Java Plug+JDK6
- BlackBerry Java 开发环境搭建及插件安装
- iPhone开发之图片按钮
- Blackberry 6,7 java环境下页面文字使用ttf字体
- wxPython之按下按钮,改变图片
- BlackBerry下更改图片的大小
- Android开发之带图片的按钮
- BlackBerry 开发环境中javaloader的使用
- 下载安装BlackBerry PlayBook NDK 开发环境
- BlackBerry NFC真机开发环境
- Struts 2.3.15 环境搭配
- 解决:android TextView上响应部分文字的事件
- 为什么做事会拖沓,分析拖沓的习惯是怎么炼成的!
- 移动分区表和分区索引的表空间
- system调用总是返回-1
- Blackberry 6,7 java环境下开发页面之Field 图片按钮
- 经典SQL行列转换
- c 正则匹配简单运用
- SQL别名、Oracle字符串处理
- C#中打开图片
- 由于之前的分页链接url不规范,导致百度爬虫搜索到死链接
- Oracle redo undo
- 解决“引入JS文件IE6报错”的问题
- 搞不来