Да не вопрос
За страницы отвечает элемент cardstack, страницы в нем оформляются как панели первого уровня вложенности.
app.xml:
PHP код:
<?xml version="1.0" encoding="UTF-8"?>
<app name="App Name" version="1.0.0" icon="../../gui/icons/normal/default_app.png">
<resources>
<module src="../../modules/lua/luaDS.klf" />
<font src="../../fonts/arial.ttf" type="ttf" size="18" name="arial" />
<image src="../../gui/buttons/big_green2/normal.png" name="bNorm" />
<image src="../../gui/buttons/big_green2/highlight.png" name="bHigh" />
<image src="../../gui/buttons/big_green2/pressed.png" name="bPress" />
<script type="text/lua" src="./lua/main.lua" />
</resources>
<body x="0" y="0" width="640" height="480" onload="AppName:Initialize()">
<cardstack x="0" y="0" width="640" height="480" name="pages">
<panel x="0" y="0" width="640" height="480" name="first-page">
<label width="640" height="45" x="0" y="0" font="arial" color="#000000" text="Home page" />
<input type="button" onclick="AppName:ShowPage(1)" normal="bNorm" highlight="bHigh" pressed="bPress" disabled="bNorm" x="233" y="180" width="181" height="40">
<label width="181" height="40" x="0" y="0" font="arial" color="#ffffff" text="Last page" />
</input>
<!-- Здесь контент первой/главной страницы. -->
</panel>
<panel x="0" y="0" width="640" height="480" name="last-page">
<label width="640" height="45" x="0" y="0" font="arial" color="#000000" text="Last page" />
<input type="button" onclick="AppName:ShowPage(0)" normal="bNorm" highlight="bHigh" pressed="bPress" disabled="bNorm" x="233" y="180" width="181" height="40">
<label width="181" height="40" x="0" y="0" font="arial" color="#ffffff" text="Home page" />
</input>
<!-- Здесь контент второй страницы. -->
</panel>
</cardstack>
</body>
</app>
lua/main.lua:
PHP код:
if not AppName then
AppName = {
app = nil,
pages = nil
}
function AppName:ShowPage(index)
return DS.GUI_CardStackShowIndex(self.pages, index);
end
function AppName:GetElement(name)
local el = DS.listGetItemByName(self.app.elements, name);
if el ~= nil then
return DS.GUI_AnyToWidget(el.data);
end
return nil;
end
function AppName:Initialize()
if self.app == nil then
self.app = DS.GetAppById(THIS_APP_ID);
if self.app ~= nil then
self.pages = self:GetElement("pages");
return true;
end
end
end
function AppName:Shutdown()
local app = DS.GetAppByName("Main");
if app ~= nil then
DS.OpenApp(app);
end
end
end
В данном случае ты можешь переключать страницы с помощью функции AppName:ShowPage(), аргумент который она принимает, является индексом страницы (т.е. положение ее в теле XML, по порядку начиная с нуля).