Как мы можем создать оконную раму в Android? - PullRequest
1 голос
/ 16 февраля 2011

Я создал две оконные рамы в JAVA, используя пакет awt и swing.Мой код 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. В то время как есть два фрейма, и мы легко переключаемся между фреймами.

Какмне продолжить?Любое руководство?

Ответы [ 2 ]

3 голосов
/ 10 апреля 2013

Существует множество способов создания окон в Android.

Если вы создаете и запускаете новое действие, вы по сути создаете новое полноэкранное окно.

Если вы хотите создать окно поверх существующего окна и внутри него (вроде как наложение) самый простой способ сделать это - использовать класс 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

3 голосов
/ 16 февраля 2011

В Android нет фреймов.Ваша активность представляет собой окно, а диалог можно использовать как всплывающее окно.Также есть возможность заставить Activity вести себя как диалог, используя тему диалога.Я бы предложил прочитать и понять основные работы Android , прежде чем продолжить.Если вам что-то нужно, чтобы испытать Swing / AWT, то это не относится напрямую к платформе мобильных устройств

...