[Bada开发]基于bada1.0的5种控件介绍[待续]
2014-06-04 14:27
302 查看
以下的例子没有特殊说明则都是基于bada SDK 1.0.0
包括,图片加载、按钮、文字编辑区、确认框以及选框。
1.图片加载函数
Osp::Graphics::Bitmap*
BaseForm::GetBitmapN(const Osp::Base::String& name)
{
Bitmap* pBitmap = null;
Image* pImage = new Image();
String fullname(L"/Res/");
fullname.Append(name);
pImage->Construct();
if(fullname.EndsWith(L"jpg"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_RGB565);
}
else if(fullname.EndsWith(L"bmp"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_RGB565);
}
else if(fullname.EndsWith(L"png"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_ARGB8888);
}
else if (fullname.EndsWith(L"gif"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_RGB565);
}
delete pImage;
return pBitmap;
}
2.Button
我设置了button的背景图片,例子如下
Osp::Graphics::Bitmap *__pReturn;
Osp::Graphics::Bitmap *__pReturnAct;
static const int ID_BUTTON_RETURN = 100;
__pReturn = GetBitmapN(L"return.png");
__pReturnAct = GetBitmapN(L"returnact.png");
Button *pBtnReturn = new Button();
pBtnReturn->Construct(Rectangle(x, y, w, h), "");
pBtnReturn->SetActionId(ID_BUTTON_RETURN);
pBtnReturn->SetNormalBackgroundBitmap(*__pReturn);
pBtnReturn->SetPressedBackgroundBitmap(*__pReturnAct);
pBtnReturn->AddActionEventListener(*this);
AddControl(*pBtnReturn);
delete __pReturn;
delete __pReturnAct;
3.EditField
Osp::Ui::Controls::EditField* __pAddrEdit;
__pAddrEdit = new EditField();
//第二个参数可以根据文本的不同来选择,文本的最大长度可以自定义
__pAddrEdit->Construct(Rectangle(x, y, w, h), EDIT_FIELD_STYLE_URL_SMALL, INPUT_STYLE_FULLSCREEN, false, 300);
AddControl(*__pAddrEdit);
__pAddrEdit->SetEnabled(true);
__pAddrEdit->SetKeypadEnabled(true);
__pAddrEdit->SetText (L"http://");
4.CheckButton
CheckButton *pCheckBtn = new CheckButton();
pCheckBtn->Construct(Rectangle(x, y, dx, dy),CHECK_BUTTON_STYLE_MARK, BACKGROUND_STYLE_NONE, false, "");
pCheckBtn->SetActionId(ID_CHECK_BTN_ON, ID_CHECK_BTN_OFF);
pCheckBtn->SetTextHorizontalAlignment(ALIGNMENT_LEFT); pCheck3G->AddActionEventListener(*this); AddControl(*pCheckBtn);
5.RadioGroup
CheckButton *pCheckWap = new CheckButton();
pCheckWap->Construct(Rectangle(x, y, w, h), CHECK_BUTTON_STYLE_RADIO, BACKGROUND_STYLE_NONE, false, L"wap");
pCheckWap->SetActionId(ID_BUTTON_RADIOWAP_ON, ID_BUTTON_RADIOWAP_OFF);
pCheckWap->AddActionEventListener(*this);
AddControl(*pCheckWap);
CheckButton *pCheckNet = new CheckButton();
pCheckNet->Construct(Rectangle(x, y, w, h),CHECK_BUTTON_STYLE_RADIO, BACKGROUND_STYLE_NONE, false, L"net");
pCheckNet->SetActionId(ID_BUTTON_RADIONET_ON, ID_BUTTON_RADIONET_OFF);
pCheckNet->AddActionEventListener(*this);
AddControl(*pCheckNet);
RadioGroup *pRadioGroup = new RadioGroup();
pRadioGroup->Construct();
pRadioGroup->Add(*pCheckWap);
pRadioGroup->Add(*pCheckNet);
pRadioGroup->SetSelectedItem(*pCheckNet);
AddControl(*pRadioGroup);
包括,图片加载、按钮、文字编辑区、确认框以及选框。
1.图片加载函数
Osp::Graphics::Bitmap*
BaseForm::GetBitmapN(const Osp::Base::String& name)
{
Bitmap* pBitmap = null;
Image* pImage = new Image();
String fullname(L"/Res/");
fullname.Append(name);
pImage->Construct();
if(fullname.EndsWith(L"jpg"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_RGB565);
}
else if(fullname.EndsWith(L"bmp"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_RGB565);
}
else if(fullname.EndsWith(L"png"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_ARGB8888);
}
else if (fullname.EndsWith(L"gif"))
{
pBitmap = pImage->DecodeN(fullname, BITMAP_PIXEL_FORMAT_RGB565);
}
delete pImage;
return pBitmap;
}
2.Button
我设置了button的背景图片,例子如下
Osp::Graphics::Bitmap *__pReturn;
Osp::Graphics::Bitmap *__pReturnAct;
static const int ID_BUTTON_RETURN = 100;
__pReturn = GetBitmapN(L"return.png");
__pReturnAct = GetBitmapN(L"returnact.png");
Button *pBtnReturn = new Button();
pBtnReturn->Construct(Rectangle(x, y, w, h), "");
pBtnReturn->SetActionId(ID_BUTTON_RETURN);
pBtnReturn->SetNormalBackgroundBitmap(*__pReturn);
pBtnReturn->SetPressedBackgroundBitmap(*__pReturnAct);
pBtnReturn->AddActionEventListener(*this);
AddControl(*pBtnReturn);
delete __pReturn;
delete __pReturnAct;
3.EditField
Osp::Ui::Controls::EditField* __pAddrEdit;
__pAddrEdit = new EditField();
//第二个参数可以根据文本的不同来选择,文本的最大长度可以自定义
__pAddrEdit->Construct(Rectangle(x, y, w, h), EDIT_FIELD_STYLE_URL_SMALL, INPUT_STYLE_FULLSCREEN, false, 300);
AddControl(*__pAddrEdit);
__pAddrEdit->SetEnabled(true);
__pAddrEdit->SetKeypadEnabled(true);
__pAddrEdit->SetText (L"http://");
4.CheckButton
CheckButton *pCheckBtn = new CheckButton();
pCheckBtn->Construct(Rectangle(x, y, dx, dy),CHECK_BUTTON_STYLE_MARK, BACKGROUND_STYLE_NONE, false, "");
pCheckBtn->SetActionId(ID_CHECK_BTN_ON, ID_CHECK_BTN_OFF);
pCheckBtn->SetTextHorizontalAlignment(ALIGNMENT_LEFT); pCheck3G->AddActionEventListener(*this); AddControl(*pCheckBtn);
5.RadioGroup
CheckButton *pCheckWap = new CheckButton();
pCheckWap->Construct(Rectangle(x, y, w, h), CHECK_BUTTON_STYLE_RADIO, BACKGROUND_STYLE_NONE, false, L"wap");
pCheckWap->SetActionId(ID_BUTTON_RADIOWAP_ON, ID_BUTTON_RADIOWAP_OFF);
pCheckWap->AddActionEventListener(*this);
AddControl(*pCheckWap);
CheckButton *pCheckNet = new CheckButton();
pCheckNet->Construct(Rectangle(x, y, w, h),CHECK_BUTTON_STYLE_RADIO, BACKGROUND_STYLE_NONE, false, L"net");
pCheckNet->SetActionId(ID_BUTTON_RADIONET_ON, ID_BUTTON_RADIONET_OFF);
pCheckNet->AddActionEventListener(*this);
AddControl(*pCheckNet);
RadioGroup *pRadioGroup = new RadioGroup();
pRadioGroup->Construct();
pRadioGroup->Add(*pCheckWap);
pRadioGroup->Add(*pCheckNet);
pRadioGroup->SetSelectedItem(*pCheckNet);
AddControl(*pRadioGroup);
相关文章推荐
- 基于android开发的聊天室 ChatRoom 1.0 :(一) 项目初步介绍
- 基于AJAX.NET技术的DataGrid控件开发
- 本人用VC开发的基于浏览器的票据打印控件
- 简单介绍基于WEB开发的HTTP协议
- asp.net ajax 1.0 精选ajax controltookit控件介绍2
- asp.net ajax 1.0 精选ajax controltookit控件介绍2
- 介绍一个商业控件及开发用辅助工具的站点
- 《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》 --- 基于VS 2008(兼容VS 2005)/C#
- 基于.NET自身的控件来开发自定义控件
- 基于.NET自身的控件来开发自定义控件
- 简单介绍基于WEB开发的HTTP协议
- 基于ActiveX 控件开发动态Web页
- 基于ActiveX 控件开发动态Web页
- DELPHI下基于APRO控件的语音系统开发
- 简单介绍 VC2003 使用 ATL 开发 ActiveX 控件
- Asp.net20 应用之 基于AJAX.NET技术的DataGrid控件开发
- 我的分页控件(未完,待续)——控件件介绍及思路
- asp.net控件开发基础(6) ----------简单介绍自定义控件样式属性
- 简单介绍基于WEB开发的HTTP协议
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术--基于VS 2008(兼容VS 2005)/C#】★★★