小编Sim*_*ani的帖子

Flutter:MainActivity 无法在 Java Native 代码中转换为 FlutterEngine

我正在尝试用 Java 为 Flutter 创建一个插件。我试图Android activity在我的主Java类中传递参数。

这是我的本机代码:

package com.example.trsurveys;

import androidx.annotation.NonNull;
import android.app.Activity;

import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.PluginRegistry.Registrar;

import theoremreach.com.theoremreach.TheoremReach;


public class TrsurveysPlugin implements FlutterPlugin, MethodCallHandler {
  private MethodChannel channel;
  private Registrar registrar;
  private Activity activity;

  @Override
  public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
    channel = new MethodChannel(flutterPluginBinding.getFlutterEngine().getDartExecutor(), "trsurveys");
    channel.setMethodCallHandler(this);
  }

When I try to debug my app it shows me the following errors

    private TrsurveysPlugin(Activity activity) {
        this.activity = …
Run Code Online (Sandbox Code Playgroud)

java android dart flutter android-native-library

11
推荐指数
2
解决办法
2529
查看次数

如何在 Flutter 中禁用 InAppWebView 的缩放?

我正在为我的 Flutter 应用程序使用flutter_inappwebview依赖项。

我想禁用放大方面,但在阅读文档iOS时我无法理解如何做到这一点。我看到他们有一个 Android 属性,可以设置为启用和禁用缩放。supportZoomtruefalse

我在 In-appWebView iOS 规范中发现的唯一与缩放相关的属性是 maximumZoomScaleminimumZoomScale但我不明白如何实现它来禁用缩放。

iOS 有没有办法实现这一点?

ios dart swift flutter

8
推荐指数
1
解决办法
4746
查看次数

如何将 Card 包裹在 SliverList 上?

我有一个银子列表,我想将其封装在一张卡片中。这是我的银名单代码:

  Widget hello() {
    return SliverPadding(
      padding: const EdgeInsets.only(
        top: 0.0,
        bottom: 100.0,
      ),
      sliver: SliverList(
        delegate: SliverChildBuilderDelegate(
          (BuildContext context, int index) {
            return Padding(
              padding: const EdgeInsets.only(
                top: 4,
                bottom: 4,
                left: 8,
                right: 8,
              ),
              child: Column(
                children: <Widget>[
                  Container(
                    color: Color(0xff9a9a9a),
                    height: 0.5,
                  ),
                  SizedBox(
                    height: 4,
                  ),
                  ListTile(
                    leading: ClipRRect(
                      borderRadius: BorderRadius.circular(12.0),
                      child: Container(
                        child: Image.network('http://cdn.akc.org/content/hero/cute_puppies_hero.jpg'),
                      ),
                    ),
                    title: Row(
                      children: <Widget>[
                        Text('Hello',
                        ),
                      ],
                    ),
                    subtitle: Text(
                      'This is a puppy',
                  ),
                  SizedBox(
                    height: 4, …
Run Code Online (Sandbox Code Playgroud)

user-interface dart flutter

7
推荐指数
1
解决办法
3343
查看次数

如何在颤动中夹住标签栏容器的边缘?

我的屏幕底部有一个容器,它有一个 BottomNavigationBar。我希望容器获得我的背景颜色。即使在添加 CLipRRect 之后,它也没有得到纠正。我还尝试使容器透明,但它显示了一个错误,我无法为我的容器分配颜色并给它一个 boxDecoration。我希望多余的白色部分合并到我的背景中。

//编辑

如何摆脱背景中的阴影?

Widget _bottomNavigationBar(int selectedIndex) => ClipRect(
    child: Container(
        height: 80,
        decoration: BoxDecoration(
          borderRadius: const BorderRadius.all(Radius.circular(52.0)),
          boxShadow: <BoxShadow>[
            BoxShadow(
                color: Colors.grey.withOpacity(0.3),
                offset: const Offset(0.0, 0.0),
                blurRadius: 52.0),
          ],
        ),
        child: ClipRRect(
          borderRadius: BorderRadius.only(
              topLeft: Radius.circular(52.0),
              topRight: Radius.circular(52.0)),
          child: BottomNavigationBar(
            selectedItemColor: Color(0xFFFE524B),
            unselectedItemColor: Color(0xFFFF8C3B),
            onTap: (int index) => setState(() => _selectedIndex = index),
            currentIndex: selectedIndex,
            items: const <BottomNavigationBarItem>[
              BottomNavigationBarItem(
                  icon: Icon(
                    Entypo.home,
                    size: 30,
                  ),
                  title: Text('')),
              BottomNavigationBarItem(
                  icon: Icon(
                    Entypo.game_controller,
                    size: 30,
                  ),
                  title: Text('[![enter …
Run Code Online (Sandbox Code Playgroud)

user-interface user-experience tabbar dart flutter

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

如何在 Flutter 中关闭警报对话框?

我正在为我的应用程序中的弹出窗口使用警报对话框。当触发 onTap 时,弹出窗口会被调用,但是当我按下“取消”按钮时,弹出窗口不会关闭,并且弹出窗口后面的整个屏幕会变黑。这是我的弹出窗口代码。

import 'package:flutter/material.dart';

class FancyAlertDialog {

  static showFancyAlertDialog(
    BuildContext context,
    String title,
    String message,
     {
    bool dismissable = true,
    Icon icon,
    @required String labelPositiveButton,
    @required String labelNegativeButton,
    @required VoidCallback onTapPositiveButton,
    @required VoidCallback onTapNegativeButton,
  }) {
    assert(context != null, 'context is null!!!');
    assert(title != null, 'title is null!!!');
    assert(message != null, 'message is null!!!');
    assert(labelPositiveButton != null, 'labelPositiveButton is null');
    assert(labelNegativeButton != null, 'labelNegativeButton is null');
    assert(onTapPositiveButton != null, 'onTapPositiveButton is null');
    assert(onTapNegativeButton != null, 'onTapNegativeButton is null');
    return …
Run Code Online (Sandbox Code Playgroud)

popup dart flutter

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

如何在 Flutter 中不使用 AppBar 的情况下添加后退按钮?

我想在我的 appBar 上添加一个后退按钮,并想让 appBar 透明,以便它只显示后退按钮。

在此处输入图片说明

user-interface appbar back-button dart flutter

4
推荐指数
2
解决办法
9579
查看次数

如何在 Flutter 中的按钮周围添加阴影?

我正在尝试重新创建一个类似于下图所示的按钮。但是我无法在它后面添加微弱的阴影。

这就是我想要实现的目标:

在此处输入图片说明

这是我的按钮的样子:

在此处输入图片说明

这是我的代码:

                Container(
                  height: 45,
                  decoration: BoxDecoration(
                    gradient: LinearGradient(
                      colors: [
                        Color(0xFFFF8C3B),
                        Color(0xFFFF6365),
                      ],
                      begin: Alignment.centerLeft,
                      end: Alignment.centerRight,
                    ),
                    borderRadius: const BorderRadius.all(
                      Radius.circular(25.0),
                    ),
                  ),
                  child: Center(
                    child: GestureDetector(
                      onTap: () {},
                      child: Text(
                        'Create Account',
                        textAlign: TextAlign.left,
                        style: TextStyle(
                          fontFamily: "Netflix",
                          fontWeight: FontWeight.w600,
                          fontSize: 18,
                          letterSpacing: 0.0,
                          color: Colors.white,
                        ),
                      ),
                    ),
                  ),
                ),
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

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

Flutter - 在 dispose() 之后调用 setState

我的应用程序中有一个 TextFieldController,但是每次我使用键盘在其中输入任何内容时,整个应用程序都会重新加载并显示错误,

Error: setState() called after dispose(): _SlidingPanelState#65b14(lifecycle state: defunct, not mounted)
Run Code Online (Sandbox Code Playgroud)

该错误似乎与SlidingPanel相关,但我不确定它为什么会干扰 TextFieldController。

  SliverToBoxAdapter(
                  child: Container(
                    height: 100,
                    padding: const EdgeInsets.all(20.0),
                    child: TextField(
                      decoration: InputDecoration(
                          border: InputBorder.none,
                          labelText: 'Enter Name',
                          hintText: 'Enter Your Name'),
                    ),
                  ),
                ),
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

如何让我的 gridView 滚动占据 Flutter 中的整个页面?

我有一个 gridView ,它在滚动时必须占据整个页面。目前它仅在页面的下半部分滚动,如下所示。

当我滚动包含元素的网格视图时,只有页面的底部正在滚动

  @override
  Widget build(BuildContext context) {
    return Material(
      child: Container(
        color: DesignCourseAppTheme.nearlyWhite,
        child: PageView(
          scrollDirection: Axis.vertical,
          children: [
            Scaffold(
              backgroundColor: DesignCourseAppTheme.nearlyWhite,
              body: Container(
                child: Column(
                  children: <Widget>[
                    SizedBox(
                      height: MediaQuery.of(context).padding.top,
                    ),
                    getAppBarUI(),
                    Expanded(
                      child: Container(
                        height: MediaQuery.of(context).size.height,
                        child: Column(
                          children: <Widget>[
                            getCategoryUI(),
                            Flexible(
                              child: getPopularCourseUI(),
                            ),
                          ],
                        ),
                      ),
                    ),
                  ],
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

这里的 gridView 被称为:

  Widget getPopularCourseUI() {
    return Padding(
      padding: const EdgeInsets.only(top: 8.0, left: 18, right: 16),
      child: Column( …
Run Code Online (Sandbox Code Playgroud)

user-interface gridview dart flutter

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

如何将 listView 转换为 GridView flutter?

我有一个水平格式的可滚动列表视图,我想将其转换为具有相同元素的网格视图。

Container(
  height: MediaQuery.of(context).size.height / 4,
  child: ListView.builder(
    scrollDirection: Axis.horizontal,
    itemCount: homeList.length,
    itemBuilder: (ctx, i) {
      return GestureDetector(
        onTap: () {
          if (i == 0) {            
            _interstitialAd.show();
          } else if (i == 1) {

          } else if (i == 2) {
            sendInvite();
          }
        },
      );
    },
  ),
)
Run Code Online (Sandbox Code Playgroud)

列表视图如下所示:在此输入图像描述

这就是我想要的样子: 在此输入图像描述

user-interface gridview dart flutter

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