Как получить виджеты вне приложения, используя флаттер и котлин? - PullRequest
0 голосов
/ 13 января 2019

Мне нужен способ создать кнопку или контейнер, которые будут видны даже после закрытия приложения: https://i.stack.imgur.com/GTpOim.jpg. Но это просто невозможно во флаттере. Итак, я делал канал платформы в своем приложении и пытался создать контейнер и кнопку с нативными компонентами. Но я использую kotlin и не знаю много об этом языке программирования. Есть ли способ, чтобы мой код мог создавать такие виджеты? (Я был бы очень благодарен, если бы вы могли редактировать мой полный код.)

Полный код:

Флаттер:

class FloatingContainer extends StatelessWidget {

  static const platform = const MethodChannel('flutter.App.com.channel');

  @override
  Widget build(BuildContext context) {
    return Container ();
  }
  Future<Null> _showNativeView() async {}

}

Котлин:

package com.example.swipe

import android.os.Bundle

import io.flutter.app.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugin.common.MethodChannel

class MainActivity() : FlutterActivity() {
    private val CHANNEL = "flutter.App.com.channel"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        GeneratedPluginRegistrant.registerWith(this)

        MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->

        }
    }
}

Ответы [ 2 ]

0 голосов
/ 19 июля 2019

Это приложение называется Draw Over Other.

Эта функция недоступна в iOS, возможно, поэтому флаттер не имеет этой функции или официального пакета для нее.

Но для достижения этой функции в вашем приложении вы можете написать PlatformChannels.

Это разрешение позволяет рисовать поверх всего.

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

Позволяет приложению открывать окна, используя тип TYPE_SYSTEM_ALERT, отображается поверх всех других приложений. Очень немногие приложения должны использовать это разрешение; эти окна предназначены для взаимодействия на уровне системы с пользователем.

Постоянное значение: "android.permission.SYSTEM_ALERT_WINDOW"

Этот код также может помочь вам достичь этого.

Вы также можете проверить библиотеку пружинящих головок от Flipkart-Incubator.

0 голосов
/ 30 мая 2019

Здравствуйте, в этом случае вы ищете PlatformChannels Вы можете просмотреть документацию здесь: https://flutter.dev/docs/development/platform-integration/platform-channels или, если хотите, у меня есть небольшой пост об этом на моем веб-сайте: http://fjbatresv.com/flutter-tambien-habla-nativo/ (выберите язык в верхней части сообщения.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...