2011-02-16 61 views
1

我使用awt和swing包在JAVA中创建了两个窗口框架。我的Java代码是这样的:我们如何在Android中创建一个窗口框架?

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

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

3

实际上有一堆方法来创建Windows中的窗口。

如果您创建并启动一个新的活动,则实质上是创建一个新的全屏窗口。

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

如果您希望对窗口的行为有完全控制,那么您可以使用WindowManager创建一个窗口(对话框和PoupWindow类在后台执行此操作)。这是创建窗口的低级方法,但它也为您提供了最大的灵活性。 因此,像这样:

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

这里棘手的部分是创建和配置第二paramater WindowManager.LayoutParams。这是您为窗口设置标志的位置,它决定了窗口的行为方式(模态与非模态,是否应该接收触摸事件,它是什么类型的窗口,应该使用哪种动画,应该使用哪种类型的键盘,它全屏或不等)。

有吨的标志,以便查看文档http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html

相关问题