我们如何在Android中创建一个窗口框架?

时间:2011-02-16 09:56:05

标签: android window frame

我使用awt和swing包在JAVA中创建了两个窗口框架。我的Java代码就像:

import java.awt.*;
import javax.swing.*;

public class TopLevelWindow {

    private static void createWindow() {
        JFrame frame = new JFrame("Simple GUI");

        //frame.setDefaultCloseOperation(JFrame.EXIT_ON_ CLOSE); 
        JLabel textLabel = new JLabel("Hi Ans ",SwingConstants.CENTER);
        textLabel.setPreferredSize(new Dimension(300, 100));
        frame.getContentPane().add(textLabel, BorderLayout.CENTER);

        //Display the window. 
        frame.setLocationRelativeTo(null);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args) {

        createWindow();
        createWindow();
    }

}

现在执行我的代码我得到两个窗口,如帧和切换 这两个框架。

我想在Android中做同样的事情意味着

  1. 如何在Android中创建类似框架的窗口。
  2. 当时有两帧,我们可以在帧之间轻松切换。
  3. 我该怎么办?有什么指导吗?

2 个答案:

答案 0 :(得分:3)

Android中没有框架。您的活动表示一个窗口,对话框可用作弹出窗口。通过使用对话框主题,还可以使Activity作为对话框。在继续进行之前,我建议您阅读并理解basic works of Android。如果您需要使用Swing / AWT体验盐,它不能直接适用于移动设备平台

答案 1 :(得分:3)

实际上有许多方法可以在android中创建窗口。

如果你创建并启动一个新的Activity,你实际上是在创建一个新的全屏窗口。

如果要在现有窗口的顶部和内部创建一个窗口(有点像叠加层),最简单的方法是使用Dialog或PopupWindow类。

如果您希望根据窗口的行为进行完全控制,则可以使用WindowManager创建窗口(Dialog和PoupWindow类在幕后执行此操作)。这是创建窗口的低级方法,但它也为您提供了最大的灵活性。 所以像这样:

WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
wm.addView (myView, myWindowLayoutParams);

这里棘手的部分是创建和配置第二个参数WindowManager.LayoutParams。这是你设置窗口标志的地方,它决定你的窗口的行为(模态与非模态,如果它接收触摸事件,它是什么类型的窗口,它应该使用什么样的动画,它应该使用什么类型的键盘,是它全屏与否等)。

有大量标志,请查看文档http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html