0
我正在構建諾基亞S40應用程序。我已將此應用設置爲全屏模式,並且我注意到當我設置全屏模式時,我失去了本機後退按鈕。諾基亞S40 LWUIT後退按鈕
我需要建立一個後退按鈕,像本機後退按鈕(始終在屏幕上,在屏幕的右下角)。我嘗試過使用borderlayout並將它放在南面,但中心容器中的文本不會出現在此...上並具有透明背景。
如果有人有一些示例代碼,它會很好。
我正在構建諾基亞S40應用程序。我已將此應用設置爲全屏模式,並且我注意到當我設置全屏模式時,我失去了本機後退按鈕。諾基亞S40 LWUIT後退按鈕
我需要建立一個後退按鈕,像本機後退按鈕(始終在屏幕上,在屏幕的右下角)。我嘗試過使用borderlayout並將它放在南面,但中心容器中的文本不會出現在此...上並具有透明背景。
如果有人有一些示例代碼,它會很好。
該代碼只是在屏幕右下角放置一個按鈕。它工作得很好。
public void startApp() {
Display.init(this);
Form f = new Form();
//Create a ComponentGroup for all components except backbutton
final ComponentGroup cg = new ComponentGroup();
final Button backButton = new Button("BackButton");
// add this part to your code
f.addOrientationListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Dimension d = new Dimension(Display.getInstance().getDisplayWidth(), Display.getInstance().getDisplayHeight());
cg.setPreferredSize(d);
backButton.setX(Display.getInstance().getDisplayWidth() - backButton.getPreferredW());
}
});
//set CoordinateLayout to f
f.setLayout(new CoordinateLayout(Display.getInstance().getDisplayWidth(), Display.getInstance().getDisplayHeight()));
//Dimension d = new Dimension(Display.getInstance().getDisplayWidth(), Display.getInstance().getDisplayHeight());
cg.setPreferredH(Display.getInstance().getDisplayHeight());
cg.setPreferredW(Display.getInstance().getDisplayWidth());
cg.setLayout(new BorderLayout());
cg.addComponent(BorderLayout.NORTH, new Button("NORTH"));
cg.addComponent(BorderLayout.EAST, new Button("ESET"));
cg.addComponent(BorderLayout.WEST, new Button("WEST"));
cg.addComponent(BorderLayout.CENTER, new TextArea("sdsdsd"));
cg.setX(0);
cg.setY(0);
backButton.getStyle().setBgColor(0x2233ff);
backButton.setX(Display.getInstance().getDisplayWidth() - backButton.getPreferredW());
backButton.setY(Display.getInstance().getDisplayHeight() - backButton.getPreferredH() - f.getTitleArea().getLayoutHeight());
f.addComponent(cg);
f.addComponent(backButton);
f.show();
}
你可以這樣做到任何形式。 如果你想回來按鈕顯示在所有的形式,你可以寫一些OOP編程來做到這一點。 它運作良好。
適用於單一方向的作品,如果您更改方向,則問題更爲複雜,因爲必須通知佈局更改人機界面的尺寸 – Mun0n
將OrientationListener設置爲您的表單,如下所示:f.addOrientationListener(new ActionListener( ){ 公共無效的actionPerformed(ActionEvent的EVT){ 尺寸d =新尺寸(Display.getInstance()getDisplayWidth(),Display.getInstance()getDisplayHeight()); cg.setPreferredSize(d); 返回按鈕.setX(Display.getInstance()。getDisplayWidth() - backButton.getPreferredW()); } }); –
我改變了我的答案。 –