`
isiqi
  • 浏览: 16482473 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

symbian应用程序中视图切换问题[转]

阅读更多

下面这个例子是基于传统Symbian OS架构 , Series 60特有的CAknView多视图架构 不一样!

最简单的办法是通过CCoeControl::MakeVisible()函数改变Container的可见性:
1. 在AppUi::ConstructL()里创建两个Container类的实例,并调用AddToStackL()将它们加入到Constrol Stack中,然后隐藏暂时不显示的Container

void CMyAppUi::ConstructL()
{
BaseConstructL();

iContainer1 = CMyContainer1::NewL(ClientRect());
iContainer2 = CMyContainer2::NewL(ClientRect());
AddToStackL(iContainer2);
AddToStackL(iContainer1);

iContainer2->MakeVisible(EFalse);
}

2.在接收到命令后切换两个Container的可见性

void CMyAppUi::HandleCommandL(TInt aCommand)
{
switch(aCommand)
{
case ESwitchToContainer2:
{
iContainer2->MakeVisible(ETrue);
iContainer1->MakeVisible(EFalse);
break;
}
case EEikCmdExit:
case EAknSoftkeyExit:
{
Exit();
break;
}
default:
{
// Panic(EHelloWorldBasicUi);
break;
}
}
}

3. 在AppUi的析构函数中调用RemoveFromStackL()将两个Container从Control Stack中移除并delete掉。
CMyAppUi::~CHelloWorldAppUi()
{
if (iContainer1)
{
RemoveFromStack (iContainer1);
delete iContainer1;
}
if (iContainer2)
{
RemoveFromStack (iContainer2);
delete iContainer2;
}
}

  另一个办法是一开始只创建Container1,等用到Container2时再创建Container2,并销毁Container1。

出处:http://hi.baidu.com/c_linuxsymbian/blog/item/5f7518dce20a40a7cd11663e.html

分享到:
评论

相关推荐

    LDLE.rar_symbian_视图切换

    总之,Symbian视图切换是构建用户友好、响应迅速的应用程序的关键技术。这个压缩包提供的资源对于想要提升Symbian开发技能,尤其是用户界面设计和实现的人来说,是一份非常有价值的学习材料。通过研究和实践,你可以...

    Symbian应用程序架构 总结

    本文将深入探讨Symbian应用程序的基础架构,包括核心应用程序类、应用程序初始化过程以及重要的AppUi方法,同时会提及常见的Symbian应用程序架构类型。 首先,核心应用程序类是所有S60 UI应用程序的基础。这些类...

    视图和视图架构PPT学习教案.pptx

    * 应用程序/视图切换能力——用户可以从一个视图切换到另一个视图(在同一个应用程序内或在另一个应用程序内)。 * 支持保存数据——通过向视图服务器注册视图,视图的数据总是在禁止该视图之前被保存。 * 支持发送...

    SYMBIAN3th多视图结构框架

    在Symbian 3th中,多视图结构框架是一个关键的设计概念,它允许应用程序呈现多个独立的视图,以提供更丰富的交互和信息展示。本文将深入探讨这一框架及其在实际开发中的应用。 首先,理解“视图”(View)的概念至...

    Symbian视频讲座-33多视图概述

    5. **动画和过渡效果**:讨论如何在视图切换时添加平滑的动画效果,提升用户体验。 6. **性能优化**:讲解在实现多视图时如何考虑性能问题,如内存管理、渲染效率等。 7. **实例分析**:通过具体的代码示例,解析...

    Symbian视频讲座-34多视图练习

    多视图在移动应用中是一个关键概念,它允许应用程序同时展示不同的数据或功能,增强了用户体验。在Symbian OS中,视图通常与CView类及其派生类相关,它们是用户界面的基本构建块。通过创建和管理多个视图,开发者...

    Carbide.C++ S60 3rd 多视图工程模板

    在移动应用开发领域,尤其是在Symbian操作系统上,开发者们经常需要面对如何构建一个多视图的应用程序。为了简化这一过程,Carbide.C++ 提供了一个名为“S60 3rd 多视图工程模板”的工具,它基于Symbian 3rd Edition...

    symbian 视图、列表LISTBOX、导航版

    在Symbian操作系统中,构建用户界面是应用程序开发的关键部分。本教程将深入探讨三个主要的视图界面:普通视图、列表视图(通常表现为LISTBOX)以及带有导航功能的视图。这些元素在创建交互式应用时起着至关重要的...

    MultiView多视图

    在Symbian操作系统中,"MultiView"是一个关键概念,它涉及到用户界面设计和应用程序架构。多视图机制允许一个应用程序同时展示多个相关的界面或视图,这些视图可以独立工作,但又共享同一个数据模型,提供了一种高效...

    Symbian UI 设计基础

    Symbian UI 设计基础是开发Symbian操作系统平台应用的核心知识,主要涉及应用程序的架构、事件处理和用户界面的设计。以下是对这些知识点的详细解释: 1. **核心应用程序类**: S60 UI 应用程序由几个关键类组成,...

    Symbian_OS_View_Architecture_v1_1_en.pdf

    与桌面计算机的窗口系统(如Microsoft Windows)类似,它支持在多个应用程序视图之间切换焦点,使用户能够更有效地操作和导航界面。 ### 编码指南 #### 视图对象 在Symbian OS的视图架构中,视图是通过特定的对象...

    S60_应用框架手册.pdf

    - **远程视图切换**:讨论了如何通过外部接口控制应用程序内的视图切换。 - **演示应用程序**:提供了一些示例代码或应用程序,以帮助理解各种架构模式的实际应用。 - **离开恢复**:说明了如何保存和恢复用户...

    S60_Platform_Application_Framework_Handbook_v2_0_en.pdf

    切换视图是视图架构中的一个重要概念,它允许应用程序在不同的视图之间进行平滑过渡。在 Symbian OS 中,切换视图通常通过调用特定的方法来实现,例如 `SetCurrent()` 方法。 #### 结论 S60 平台提供了丰富的工具...

    symbian四个主要的应用软件框架类.doc

    Symbian操作系统是一个专为移动设备设计的实时操作系统,它为开发者提供了丰富的API和框架来构建功能丰富的应用程序。在Symbian中,特别是对于Series 60平台,Avkon(Application and ViewKonstant)框架是核心的...

    Symbian入门与环境配置

    - **Avkon视图切换架构**:提供高级的视图管理和切换功能。 #### 三、开发环境配置 1. **Symbian开发入门** - 介绍Symbian开发的基础知识和工具。 - 包括Symbian C++的基本语法和编程技巧。 2. **Symbian编程...

    carbide多视图模板

    "Carbide多视图模板"是专门为Symbian操作系统开发者设计的一款工具,它极大地简化了构建具有多个视图(views)和容器(containers)的应用程序框架的过程。在这个压缩包中,包含了三个主要部分:`classtemplates`、`...

    symbian 入门教程 精品资料.pptx

    本教程将带你进入Symbian开发的世界,通过理解其基本概念和程序结构,使你能创建自己的Symbian应用程序。 **程序结构** S60应用框架基于Model-View-Controller (MVC) 设计模式。这种模式将应用程序逻辑分为三个...

    symbian devdiv

    Symbian OS 的一个显著特点就是其开放性和灵活性,这使得开发者可以创建各种各样的应用程序和服务。而 **S60** 是基于 Symbian OS 的用户界面平台,主要应用于智能手机上。S60 提供了一套完整的开发工具和技术文档,...

Global site tag (gtag.js) - Google Analytics