小编Ext*_*tra的帖子

如何使用flutter和kotlin在应用程序外部使用小部件?

我需要一种方法来创建一个按钮或容器,即使我关闭应用程序仍然可以看到这样: 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 {}

}
Run Code Online (Sandbox Code Playgroud)

科特林:

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 ->

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android dart kotlin flutter

14
推荐指数
2
解决办法
657
查看次数

按下按钮时如何添加小部件颤动

对于我的 flutter 应用程序,我需要一个可以在我按下添加按钮时添加的容器。于是我查看了其他 Stack Overflow 问题,例如:Flutter - Render new Widgets on clickFlutter - Add new Widget on click。之后,这就是我想出的。

class Body extends StatelessWidget {

  @override
  Widget build(BuildContext context) {

    var tPadding= MediaQuery.of(context).size.width  * 0.08; 
    var bPadding= MediaQuery.of(context).size.width  * 0.15; 
    var vPadding = MediaQuery.of(context).size.height  * 0.015;

    return Expanded (
      child: Container (
        child: NotificationListener<OverscrollIndicatorNotification> (
          onNotification: (OverscrollIndicatorNotification overscroll) {
            overscroll.disallowGlow();
          },
          child: PageView.builder(
            pageSnapping: false,
            controller: PageController(viewportFraction: 0.85),
            itemCount: container.length,
            itemBuilder: (context, i) {
              return Padding (
                padding: …
Run Code Online (Sandbox Code Playgroud)

dart flutter

6
推荐指数
1
解决办法
7658
查看次数

如何在每个特定页面上添加文本?

我编写了一些代码,每次按添加按钮时都会打开一个新容器。这些容器中的每一个都会打开RPage(如果您不了解,请检查代码)。

码:

import 'package:flutter/material.dart';

import 'dart:io';

void main() => runApp(MainPage());

class MainPage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp ( 
      debugShowCheckedModeBanner: false,
      home:Scaffold (
        backgroundColor: Colors.white,
        body: Column (
          children: <Widget> [
            Container (
              height: 100.0
            ),
            Body(),
          ]
        )
      )
    );
  }

}

class Body extends StatefulWidget {

  @override
  _BodyState createState() => _BodyState();

}

class _BodyState extends State<Body> {

  final String open1 = 'open';

  int count = 1;

  @override
  Widget build(BuildContext context) {
    return Expanded ( …
Run Code Online (Sandbox Code Playgroud)

dart flutter

6
推荐指数
1
解决办法
156
查看次数

如何使用构建器功能?- 颤抖

我问了一个名为“如何将 Widget 注入自定义子 Widget 并使用子 Widgets 迭代索引?”的问题。我已经得到了答案,但有一个问题。

答案说我应该:

“不是将 Widget 传递给您的自定义 AppList,您可以传递一个构建器函数,该函数返回一个 Widget 并根据需要获取参数,例如索引和所需的任何配置。类似于以下内容:

函数定义:

typedef Widget MyListTileBuilder(String tileText);
Run Code Online (Sandbox Code Playgroud)

然后更改以下内容:

final Widget child;
Run Code Online (Sandbox Code Playgroud)

final MyListTileBuilder childBuilder;
Run Code Online (Sandbox Code Playgroud)

当然,您需要在示例类中实现您的构建器方法:

Widget MyListTileBuilderImplementation (int index) {
  return ListTile ( 
                title: Text(installedApps[index]["app_name"]) //this is the text
              ),
}
Run Code Online (Sandbox Code Playgroud)

当您在示例类中构建 AppList 时,您传递了该方法

AppList (
              childBuilder: MyListTileBuilderImplementation 
)
Run Code Online (Sandbox Code Playgroud)

最后在 AppList 中调用构建器,而不是添加子小部件”:

itemBuilder: (context, index) {
  return childBuilder(index); //This is where the ListTile will go. 
},
Run Code Online (Sandbox Code Playgroud)

所以,我试图编辑我的代码。但由于某种原因它不起作用。我认为我做错了。有谁知道如何解决这个问题?(如果您可以编辑我的完整代码,那将非常有帮助。)

完整代码:

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

import 'dart:async';
import 'dart:io';

import …
Run Code Online (Sandbox Code Playgroud)

user-interface frontend custom-widgets dart flutter

5
推荐指数
1
解决办法
5820
查看次数

我怎样才能让小部件尺寸相对于颤振中的屏幕尺寸?

我正在构建一个颤振应用程序。在那里我做了一个 SliverAppBar:

child: NestedScrollView (
  headerSliverBuilder: (BuildContext context, i) {
    return <Widget> [
      SliverAppBar (
        backgroundColor: Colors.black,
        expandedHeight: 150.0,
      )
    ];
  },
Run Code Online (Sandbox Code Playgroud)

我将高度设置为 150.0 像素。但我意识到这个大小会在不同的设备中发生变化。如何让每个设备的尺寸都占屏幕的 40%?

user-interface frontend dart flutter

5
推荐指数
1
解决办法
4075
查看次数

如何使按钮的角仅在顶部变圆?

我正在尝试制作一个按钮,该按钮的顶部为圆角,底部为正常角。我怎么能这样呢?

dart flutter flutter-layout

3
推荐指数
1
解决办法
986
查看次数

失败:构建失败,颤振中出现异常

我的 flutter 应用程序突然出现问题。由于某种原因,我无法运行任何 flutter 文件。每次我尝试运行任何 flutter 项目时,它都会不断向我显示错误消息。

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':flutter_appavailability:androidApis'.
> Failed to transform file 'android.jar' to match attributes {artifactType=android-platform-attr} using transform PlatformAttrTransform
   > java.io.FileNotFoundException: /Users/wooyoung/Library/Android/sdk/platforms/android-27/android.jar (No such file or directory)

* Try:
Run with --stacktrace option to get the stack trace. Run with the -the-info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help …
Run Code Online (Sandbox Code Playgroud)

android dart flutter

3
推荐指数
1
解决办法
3万
查看次数

当您一直滚动到ListView.builder的顶部时,如何禁用动画

我正在尝试在我的flutter应用程序中列出一个清单。但是,每次我一直滚动到顶部时,都会显示以下动画:

https://i.stack.imgur.com/Z7mHh.jpghttps://i.stack.imgur.com/EAIyj.jpg

有没有办法隐藏此动画?

dart flutter flutter-animation

2
推荐指数
3
解决办法
917
查看次数

如何在 AnimatedContainer 中制作圆角边框?

我一直在尝试在AnimatedContainer. 所以我写了这段代码:

 return Center (
    child: Column (
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget> [
        AnimatedContainer (
          duration: Duration(milliseconds: 200),
          color: Colors.white,
          height: _isContainerVisible ? 500.0 : 0.0,
          width: _isContainerVisible ? 300.0 : 0.0,
          decoration: BoxDecoration (
            borderRadius: BorderRadius.circular(25.0)
          ),
        )
      ]
    )
  );
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我无法使角落变圆。我也收到了一条错误消息。有没有办法让角落变圆?

dart flutter flutter-animation

2
推荐指数
1
解决办法
1181
查看次数