A flutter plugin allows you to create native android floating window.

Overview

android_window pub-badge

A flutter plugin allows you to create native android floating window.

Install

flutter pub add android_window

MainActivity.kt:

class MainActivity : qiuxiang.android_window.AndroidWindowActivity()

Create MainApplication.kt:

package your_package // same as MainActivity.kt

class MainApplication : qiuxiang.android_window.AndroidWindowApplication()

Add android:name=".MainApplication" to AndroidManifest.xml :

">
<application
  android:name=".MainApplication"
  ...
>

Example

main.dart:

import 'package:android_window/main.dart' as android_window;
import 'package:flutter/material.dart';

import 'android_window.dart';

@pragma('vm:entry-point')
void androidWindow() {
  runApp(const AndroidWindowApp());
}

void main() {
  runApp(const App());
}

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(title: 'Flutter Demo', home: HomePage());
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: () => android_window.open(size: const Size(300, 200)),
        child: const Icon(Icons.add),
      ),
    );
  }
}

android_window.dart:

import 'package:android_window/android_window.dart';
import 'package:flutter/material.dart';

class AndroidWindowApp extends StatelessWidget {
  const AndroidWindowApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: HomePage(),
      debugShowCheckedModeBanner: false,
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return AndroidWindow(
      child: Scaffold(
        backgroundColor: Colors.lightGreen.withOpacity(0.9),
        body: const Padding(
          padding: EdgeInsets.all(8),
          child: Text('Hello android window'),
        ),
      ),
    );
  }
}

Screenshot:

More examples

example.mp4

Build

mkdir -p android/src/main/java/qiuxiang/android_window
flutter pub run pigeon --input lib/pigeon.dart
Comments
  • W/InputMethodManager(13869): The current service view is not the focus view

    W/InputMethodManager(13869): The current service view is not the focus view

    Thank you for this awesome plugin, my current issue is that the keyboard does not appear when I select any TextField widgets used to collect user input instead of plain Text, I am testing using my Huawei P20 Lite, this is the error I get:

    W/InputMethodManager(32690): The current service view is not the focus view

    opened by nickolaylo 5
  • 如何运行它?

    如何运行它?

    Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
    ../lib/main.dart:3:8: Error: Error when reading '../lib/pigeon.g.dart': No such file or directory
    import 'pigeon.g.dart';
           ^
    
    ../lib/android_window.dart:3:8: Error: Error when reading '../lib/pigeon.g.dart': No such file or directory
    import 'pigeon.g.dart';
    
           ^
    ../lib/main.dart:73:24: Error: Type 'MainHandler' not found.
    class _Handler extends MainHandler {
    
                           ^^^^^^^^^^^
    ../lib/android_window.dart:65:24: Error: Type 'AndroidWindowHandler' not found.
    class _Handler extends AndroidWindowHandler {
                           ^^^^^^^^^^^^^^^^^^^^
    
    ../lib/main.dart:5:14: Error: Method not found: 'MainApi'.
    final _api = MainApi();
                 ^^^^^^^
    ../lib/android_window.dart:5:14: Error: Method not found: 'AndroidWindowApi'.
    
    final _api = AndroidWindowApi();
                 ^^^^^^^^^^^^^^^^
    ../lib/main.dart:70:3: Error: Getter not found: 'MainHandler'.
      MainHandler.setup(_Handler(handler));
      ^^^^^^^^^^^
    ../lib/android_window.dart:42:5: Error: Getter not found: 'AndroidWindowHandler'.
        AndroidWindowHandler.setup(_Handler(handler));
        ^^^^^^^^^^^^^^^^^^^^
    2
    
    FAILURE: Build failed with an exception.
    
    * Where:
    Script '/opt/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1005
    
    * What went wrong:
    Execution failed for task ':app:compileFlutterBuildDebug'.
    > Process 'command '/opt/flutter/bin/flutter'' finished with non-zero exit value 1
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    
    git clone https://github.com/qiuxiang/flutter-android-window
    cd flutter-android-window
    flutter pub get 
    cd example 
    flutter pub get 
    
    flutter run ...
    

    Flutter 2.5.1 • channel stable

    opened by khjde1207 4
  • adb启动service打开悬浮框,静止20分钟后,点击悬浮框会闪退

    adb启动service打开悬浮框,静止20分钟后,点击悬浮框会闪退

    2022-08-26 16:25:09.062 4859-4859/com.dss.upgrade_assistant E/MessageQueue-JNI: java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native. at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative(FlutterJNI.java:479) at io.flutter.embedding.engine.FlutterJNI.dispatchPointerDataPacket(FlutterJNI.java:716) at io.flutter.embedding.engine.renderer.FlutterRenderer.dispatchPointerDataPacket(FlutterRenderer.java:485) at io.flutter.embedding.android.AndroidTouchProcessor.onTouchEvent(AndroidTouchProcessor.java:160) at io.flutter.embedding.android.AndroidTouchProcessor.onTouchEvent(AndroidTouchProcessor.java:101) at io.flutter.embedding.android.FlutterView.onTouchEvent(FlutterView.java:918) at android.view.View.dispatchTouchEvent(View.java:12513) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2662) at android.view.View.dispatchPointerEvent(View.java:12752) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5119) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4922) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4598) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4655) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7111) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7080) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7041) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7214) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:326) at android.os.Looper.loop(Looper.java:160) at android.app.ActivityThread.main(ActivityThread.java:6718) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 2022-08-26 16:25:09.068 4859-4859/com.maxhub.upgrade_assistant E/AndroidRuntime: FATAL EXCEPTION: main Process: com.maxhub.upgrade_assistant, PID: 4859 java.lang.RuntimeException: Cannot execute operation because FlutterJNI is not attached to native. at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative(FlutterJNI.java:479) at io.flutter.embedding.engine.FlutterJNI.dispatchPointerDataPacket(FlutterJNI.java:716) at io.flutter.embedding.engine.renderer.FlutterRenderer.dispatchPointerDataPacket(FlutterRenderer.java:485) at io.flutter.embedding.android.AndroidTouchProcessor.onTouchEvent(AndroidTouchProcessor.java:160) at io.flutter.embedding.android.AndroidTouchProcessor.onTouchEvent(AndroidTouchProcessor.java:101) at io.flutter.embedding.android.FlutterView.onTouchEvent(FlutterView.java:918) at android.view.View.dispatchTouchEvent(View.java:12513) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2662) at android.view.View.dispatchPointerEvent(View.java:12752) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5119) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4922) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4598) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4655) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4492) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4458) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4466) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4439) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7111) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7080) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7041) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7214) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:326) at android.os.Looper.loop(Looper.java:160) at android.app.ActivityThread.main(ActivityThread.java:6718) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

    opened by WxqKb 2
  • 在使用过程中,出现闪退

    在使用过程中,出现闪退

    大佬你好,我在使用的时候,不清楚是不是JAVA版本不兼容,还是什么,昨天已经已经成功可以显示窗口,晚上mac升级了一下,运行就报以下错误 JAVA版本是:1.8.311.11 这是我的Flutter版本信息 [✓] Flutter (Channel master, 2.6.0-12.0.pre.840, on macOS 12.0.1 21A559 darwin-x64, locale zh-Hans-CN) • Flutter version 2.6.0-12.0.pre.840 at /Users/hejun/Library/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 08233cb384 (2 days ago), 2021-11-26 13:38:03 -0500 • Engine revision b12306aef4 • Dart version 2.16.0 (build 2.16.0-54.0.dev) • DevTools version 2.8.0 • Pub download mirror https://pub.flutter-io.cn • Flutter download mirror https://storage.flutter-io.cn

    报错如下 java.lang.ClassCastException: qiuxiang.android_window.WindowService cannot be cast to android.app.Activity at io.flutter.embedding.android.FlutterView.createWindowInfoRepo(FlutterView.java:458) at io.flutter.embedding.android.FlutterView.onAttachedToWindow(FlutterView.java:478) at android.view.View.dispatchAttachedToWindow(View.java:20102) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3619) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3626) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2549) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2166) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8884) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1280) at android.view.Choreographer.doCallbacks(Choreographer.java:1019) at android.view.Choreographer.doFrame(Choreographer.java:911) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1248) at android.os.Handler.handleCallback(Handler.java:900) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:219) at android.app.ActivityThread.main(ActivityThread.java:8668) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)

    opened by junr-he 2
  • 请问,在悬浮窗可以回到我的APP吗?

    请问,在悬浮窗可以回到我的APP吗?

    我想按'返回键'返回到应用程序。 找了很长时间。 用了很多方法。 没有成功。 有办法吗?

    import 'package:android_window/android_window.dart';
    import 'package:flutter/material.dart';
    
    class AndroidWindowApp extends StatelessWidget {
      const AndroidWindowApp({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return const MaterialApp(
          home: HomePage(),
          debugShowCheckedModeBanner: false,
        );
      }
    }
    
    class HomePage extends StatelessWidget {
      const HomePage({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return AndroidWindow(
          child: Scaffold(
              backgroundColor: Color(0xffA5A6F6).withOpacity(0.9),
              body: Padding(
                padding: EdgeInsets.only(top: 20),
                child: ListView(
                    // Padding(
                    padding: EdgeInsets.all(8),
                    children: [
                      ElevatedButton(
                          onPressed: () {
                            AndroidWindow.close();
                          },
                          child: Text("close")),
                      ElevatedButton(
                          onPressed: () {
                            AndroidWindow.post(
                              'back',
                              "",
                            );
                          },
                          child: Text("返回")),
                    ]),
              )),
        );
      }
    }
    
    
     android_window.setHandler((name, data) async {
          var ctl = Get.find<GlobalController>();
          switch (name) {
            case 'back':
              final AndroidIntent intent = AndroidIntent(
                action: 'action_view',
                package: 'com.test.myapp',
              );
              await intent.launch();
          }
        });
    

    谢谢。

    opened by khjde1207 2
  • 是否可以在 AndroidWindowApp 中运行 url_launcher?

    是否可以在 AndroidWindowApp 中运行 url_launcher?

    import 'package:android_window/android_window.dart';
    import 'package:flutter/material.dart';
    import 'package:url_launcher/url_launcher.dart';
    
    class AndroidWindowApp extends StatelessWidget {
      const AndroidWindowApp({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return const MaterialApp(
          home: HomePage(),
          debugShowCheckedModeBanner: false,
        );
      }
    }
    
    class HomePage extends StatelessWidget {
      const HomePage({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return AndroidWindow(
          child: Scaffold(
            backgroundColor: Colors.lightGreen.withOpacity(0.9),
            body: Padding(
              padding: EdgeInsets.all(8),
              child: ElevatedButton(
                  onPressed: () {
                    print("onPressed");
                    launch("https://github.com/");
                  },
                  child: Text("test open")),
            ),
          ),
        );
      }
    }
    
    

    错误信息 :

    E/flutter (30934): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(NO_ACTIVITY, Launching a URL requires a foreground activity., null, null)
    E/flutter (30934): #0      StandardMethodCodec.decodeEnvelope
    package:flutter/…/services/message_codecs.dart:607
    E/flutter (30934): #1      MethodChannel._invokeMethod
    package:flutter/…/services/platform_channel.dart:156
    E/flutter (30934): <asynchronous suspension>
    E/flutter (30934): #2      launch
    package:url_launcher/url_launcher.dart:99
    E/flutter (30934): <asynchronous suspension>
    E/flutter (30934):
    

    有什么办法吗?

    opened by khjde1207 2
  • Usage of other plugins?

    Usage of other plugins?

    Firstly, this is a great pluign I came across and it suits prefectly for my need. I am wondering whether it is possible to use all other plugins out there normally as using in Flutter projects, because no external plugin worked inside androidWindow() eg. the plugins which I tested out

    • camera
    • url_launcher
    • http

    If its possible to use, please do share some hints or references.

    opened by princesanjivy 1
  • Switching from portrait mode, I can't move the floating window to the right side in landscape mode

    Switching from portrait mode, I can't move the floating window to the right side in landscape mode

    Thank you my hero for your hard work developing this awesome and unique flutter plugin, I am facing a new issue, When I load the floating window in portrait mode, I can move It with my finger wherever I want on the screen, however changing to landscape mode don't allow me to do so, It keeps the same width from the previous portrait mode, so I can't move it to the right side of my screen, that prevents me from interacting with what is behind it in this left side, could you please tell me how can I make it adaptive to the new width in the landscape mode?

    opened by nickolaylo 0
  • example is not working

    example is not working

    My system is macbook m1 pro.

    ➜  flutter-android-window git:(main) ✗ flutter doctor   
    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel stable, 3.0.0, on macOS 12.3.1 21E258 darwin-arm, locale en-KR)
    [✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    [✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    [✓] Chrome - develop for the web
    [✓] Android Studio (version 2021.2)
    [✓] IntelliJ IDEA Ultimate Edition (version 2022.1.1)
    [✓] VS Code (version 1.66.1)
    [✓] Connected device (3 available)
    [✓] HTTP Host Availability
    
    • No issues found!
    
    Screen Shot 2022-05-17 at 22 02 17
    Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
    Running Gradle task 'assembleDebug'...
    Exception in thread "main" java.util.zip.ZipException: zip END header not found
    	at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1623)
    	at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1511)
    	at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1518)
    	at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1322)
    	at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1285)
    	at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:747)
    	at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:864)
    	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:262)
    	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191)
    	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:205)
    	at org.gradle.wrapper.Install.unzip(Install.java:214)
    	at org.gradle.wrapper.Install.access$600(Install.java:27)
    	at org.gradle.wrapper.Install$1.call(Install.java:74)
    	at org.gradle.wrapper.Install$1.call(Install.java:48)
    	at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
    	at org.gradle.wrapper.Install.createDist(Install.java:48)
    	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
    	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
    Exception: Gradle task assembleDebug failed with exit code 1
    
    opened by deviankim 0
  • Fullscreen keyboard when keyboard is open in landscape mode

    Fullscreen keyboard when keyboard is open in landscape mode

    To make a fullscreen keyboard when the keyboard is open in landscape mode, this functionality is also found in WhatsApp in landscape mode, for that I am using a great Plugin, it's working fine, here is a picture: Screenshot_20220424_232133_com example overlay_project_exemple , but in my overlay widget, it's not working, like copy paste is not working too, here is a picture Screenshot_20220424_232254_com android chrome , This is a simple code example reproducing the issue: Github, I am testing using my Huawei P20 Lite.

    Any little help will be very welcome, Thank you in advance.

    opened by nickolaylo 3
  • Copy and Paste not working in TextFormField & TextField

    Copy and Paste not working in TextFormField & TextField

    Hi, I'm trying Copy & Paste text in TextField in my android floating window. I tried many ways but still, it's not working, also I tried to copy text to the clipboard or get if from clipboard using : import 'package:flutter/services.dart'; Clipboard.setData(ClipboardData(text: "Text here to copy")); ClipboardData cdata = await Clipboard.getData(Clipboard.kTextPlain); String copiedtext = cdata.text; print(copiedtext);

    This is a simple code example reproducing the issue: Github

    Could you please help me make this functionality works in my floating window?

    opened by nickolaylo 1
  • application crash

    application crash

    Unable to start service qiuxiang.android_window.WindowService@f5edd4b with Intent { cmp=com.konn3ct.konn3ct/qiuxiang.android_window.WindowService (has extras) }: java.lang.ClassCastException: android.app.Application cannot be cast to qiuxiang.android_window.AndroidWindowApplication E/AndroidRuntime(27343): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4133) E/AndroidRuntime(27343): at android.app.ActivityThread.access$1900(ActivityThread.java:226) E/AndroidRuntime(27343): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1916) E/AndroidRuntime(27343): at android.os.Handler.dispatchMessage(Handler.java:107) E/AndroidRuntime(27343): at android.os.Looper.loop(Looper.java:214) E/AndroidRuntime(27343): at android.app.ActivityThread.main(ActivityThread.java:7386) E/AndroidRuntime(27343): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(27343): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) E/AndroidRuntime(27343): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980) E/AndroidRuntime(27343): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to qiuxiang.android_window.AndroidWindowApplication E/AndroidRuntime(27343): at qiuxiang.android_window.WindowService.onStartCommand(WindowService.kt:25) E/AndroidRuntime(27343): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4115) E/AndroidRuntime(27343): ... 8 more I/Process (27343): Sending signal. PID: 27343 SIG: 9

    opened by odejinmi 1
Releases(v0.3.2)
Owner
7c00
7c00
Android Alarm Clock Plugin for Flutter.

Android Alarm Clock Plugin for Flutter This plugin allows Flutter apps to operate with the default clock application when the platform is Android. Pro

Sebastjan Mevlja 12 Nov 11, 2022
Android has a built in microphone through which you can capture audio and store it , or play it in your phone. There are many ways to do that but with this dialog you can do all thats with only one dialog.

# Media Recorder Dialog ![](https://img.shields.io/badge/Platform-Android-brightgreen.svg) ![](https://img.shields.io/badge/Android-CustomView-blue.sv

Abdullah Alhazmy 73 Nov 29, 2022
Make your native android Dialog Fancy and Gify. A library that takes the standard Android Dialog to the next level with a variety of styling options and Gif's. Style your dialog from code.

FancyGifDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ...

Shashank Singhal 522 Jan 2, 2023
Android library that allows applications to add dialog-based slider widgets to their settings

Android Slider Preference Library Overview Slider represents a float between 0.0 and 1.0 Access with SliderPreference.getValue() or SharedPreferences.

Jay Petacat 135 Nov 29, 2022
An easy-to-use Android library that will help you to take screenshots of specif views of your app and save them to external storage (Including API 29 Q+ with Scope Storage)

???? English | ???? Português (pt-br) ???? English: An easy to use Library that will help you to take screenshots ?? of the views in your app Step 1.

Thyago Neves Silvestre 2 Dec 25, 2021
Alert Dialog - You can use this extension instead of creating a separate Alert Dialog for each Activity or Fragment.

We show a warning message (Alert Dialog) to the user in many parts of our applications. You can use this extension instead of creating a separate Alert Dialog for each Activity or Fragment. Thanks to this extension, you can create a Dialog and call it in the Activity or Fragment you want and customize the component you want.

Gökmen Bayram 0 Jan 9, 2022
AlertDialog for Android, a beautiful and material alert dialog to use in your android app.

AlertDialog for Android, a beautiful and material alert dialog to use in your android app. Older verion of this library has been removed

Akshay Masram 124 Dec 28, 2022
A simple library for creating animated warnings/dialogs/alerts for Android.

Noty A simple library for creating animated warnings/notifications for Android. Examples Show me code Show me code Show me code Show me code Show me c

Emre 144 Nov 29, 2022
Advanced dialog solution for android

DialogPlus Simple and advanced dialog solution. Uses normal view as dialog Provides expandable option Multiple positioning Built-in options for easy i

Orhan Obut 5k Dec 29, 2022
SweetAlert for Android, a beautiful and clever alert dialog

Sweet Alert Dialog SweetAlert for Android, a beautiful and clever alert dialog 中文版 Inspired by JavaScript SweetAlert Demo Download ScreenShot Setup Th

书呆子 7.3k Dec 30, 2022
An Android Dialog Lib simplify customization.

FlycoDialog-Master 中文版 An Android Dialog Lib simplify customization. Supprot 2.2+. Features [Built-in Dialog, convenient to use](#Built-in Dialog) [Ab

Flyco 2.3k Dec 8, 2022
😍 A beautiful, fluid, and extensible dialogs API for Kotlin & Android.

Material Dialogs View Releases and Changelogs Modules The core module is the fundamental module that you need in order to use this library. The others

Aidan Follestad 19.5k Dec 29, 2022
[Deprecated] This project can make it easy to theme and custom Android's dialog. Also provides Holo and Material themes for old devices.

Deprecated Please use android.support.v7.app.AlertDialog of support-v7. AlertDialogPro Why AlertDialogPro? Theming Android's AlertDialog is not an eas

Feng Dai 468 Nov 10, 2022
Android AlertDialog with moving dots progress indicator

Spots progress dialog Android AlertDialog with moving spots progress indicator packed as android library. =========== Usage The library available in m

Maksym Dybarskyi 1.1k Jan 8, 2023
LicensesDialog is an open source library to display licenses of third-party libraries in an Android app.

LicensesDialog LicensesDialog is an open source library to display licenses of third-party libraries in an Android app. Download Download the latest R

PSDev 817 Dec 30, 2022
Android library to show "Rate this app" dialog

Android-RateThisApp Android-RateThisApp is an library to show "Rate this app" dialog. The library monitors the following status How many times is the

Keisuke Kobayashi 553 Nov 23, 2022
A small library replicating the new dialogs in android L.

L-Dialogs A small library replicating the new dialogs in android L. Set Up (Android Studio): Download the aar here: https://www.dropbox.com/s/276bhapr

Lewis Deane 572 Nov 11, 2022
A simple file/ directory picker dialog for android

FileListerDialog FileListerDialog helps you to list and pick file/directory. Library is built for Android Getting Started Installing To use this libra

Yogesh S 446 Jan 7, 2023
📱 An Android Library for 💫fluid, 😍beautiful, 🎨custom Dialogs.

Aesthetic Dialogs for Android ?? ?? Android Library for ?? fluid, ?? beautiful, ?? custom Dialogs. Table of Contents: Introduction Types of Dialog Dar

Gabriel TEKOMBO 538 Dec 14, 2022