小编huo*_*erv的帖子

React Native WebView html <select>无法在Android平板电脑上打开选项

<select>在Android平板电脑上使用HTML 标签在React Native的WebView中遇到了一个非常奇怪的问题.出于某种原因,点击渲染<select>按钮不会打开选项列表.

这只发生在Android平板电脑上,无论Android版本如何.但是,在Android智能手机上,不会发生此错误,并且选项列表会按预期打开.

为了重现这个bug,我创建了一个简单的演示应用程序:https://github.com/huonderv/react-native-webview-html-select-bug.

重要的代码如下:

index.android.js

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  WebView
} from 'react-native';

export default class WebViewProject extends Component {
  render() {
    return (
      <WebView
        style={styles.container}
        source={{ uri: 'file:///android_asset/simpleselect.html'}}
        startInLoadingState={true}
      />
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
});

AppRegistry.registerComponent('WebViewProject', () => WebViewProject);
Run Code Online (Sandbox Code Playgroud)

simpleselect.html

<!DOCTYPE html>
<html>
  <body>    
    <select>
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="opel">Opel</option> …
Run Code Online (Sandbox Code Playgroud)

javascript android android-webview react-native react-native-android

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

英雄动画完成后开始小部件动画

假设我有两个页面,Page1 和 Page2 包含一个英雄。在 Page2 中,我想在 Hero 动画完成后开始一个 Widget 动画。

是否可以通过回调在 Page2 中获得有关 Hero 动画状态的通知?

到目前为止,我发现的唯一解决方法是向 Widget 动画添加延迟,以避免它在 Hero 动画完成之前开始:

class Page1 extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Container(
        child: Hero(
          tag: "hero-tag",
          child: IconButton(
              icon: Icon(Icons.person),
              onPressed: () {
                Navigator.push(
                    context,
                    MaterialPageRoute(
                      builder: (BuildContext context) => Page2(),
                    ));
              }),
        ),
      );
}

class Page2 extends StatefulWidget {
  @override
  _Page2State createState() => _Page2State();
}

class _Page2State extends State<Page2> with TickerProviderStateMixin {
  AnimationController _controller;
  Animation _fabAnimation;

  @override
  void initState() …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-animation

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

Flutter 是否为 Android/iOS 发布版本执行“摇树”/“Dart 死代码消除”?

根据Flutter 的构建模式

编译针对快速启动、快速执行和小包大小进行了优化

针对小封装尺寸进行优化究竟意味着什么?

对于网络应用程序,文档指出:

构建被缩小,并且已经执行了摇树

在发布模式下构建应用程序时,Flutter 是否对 Android/iOS 的 Dart 代码执行死代码消除?如果是这样,如何?

评论:在 DevTools 中apk使用Deeper analysis 分析生成的 Android 版本时,似乎没有包含死代码。所以至少对于 Android 来说,Flutter 似乎在发布模式下执行死代码消除。

flutter

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

是否可以仅部署使用 GitLab CI/CD 更改的特定 Firebase 功能?

使用 GitLab CI/CD 一次性部署所有 Firebase 功能非常简单(如何利用 GitLab CI/CD for Google Firebase):

deploy-functions:
  stage: deploy
  script:
    - cd functions
    - npm install
    - cd ..
    - firebase deploy --only functions --token $FIREBASE_TOKEN
  only:
    refs:
      - master
    changes:
      - functions/**/*
Run Code Online (Sandbox Code Playgroud)

然而,当“部署大量函数时,您可能会超出标准配额并收到 HTTP 429 或 500 错误消息。要解决此问题,请以 10 个或更少为一组部署函数。” (请参阅管理功能部署和运行时选项)。

借助 Firebase CLI,可以使用 部署特定功能(例如addMessage和) 。makeUppercasefirebase deploy --only functions:addMessage,functions:makeUppercase

现在,有没有一种简单的方法可以自动检测哪些功能受到代码库更改的影响,并构建一个gitlab-ci.yml仅部署相应功能的系统?

firebase gitlab-ci

6
推荐指数
0
解决办法
240
查看次数