【问题标题】:how can we create a window frame in Android?我们如何在 Android 中创建窗口框架?
【发布时间】:2011-02-16 09:56:04
【问题描述】:

我使用 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. 一次有两个帧,我们可以轻松地在帧之间切换。

我该如何进行?有什么指导吗?

【问题讨论】:

    标签: android window frame


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      实际上有很多方法可以在 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-20
        • 2016-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-01
        • 1970-01-01
        相关资源
        最近更新 更多