我使用回调方法“onPageFinished”来控制进度拨号器的可见性,但该行为在 Android 上不起作用。
该回调方法在Android设备上被调用3次,分别在开始页面加载和完成页面加载时,
版本:- webview_flutter:^3.0.0
这是我的代码:
class _MyHomePageState extends State<MyHomePage> {
final Completer<WebViewController> _controller =
Completer<WebViewController>();
bool isLoading=true;
@override
void initState() {
super.initState();
if (Platform.isAndroid) {
WebView.platform = SurfaceAndroidWebView();
}
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Stack(
children: [
Builder(builder: (BuildContext context) {
return WebView(
initialUrl: 'https://google.com/',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
onProgress: (int progress) {
print('WebView is loading (progress : $progress%)');
},
javascriptChannels: <JavascriptChannel>{
_toasterJavascriptChannel(context),
},
navigationDelegate: (NavigationRequest request) { …
Run Code Online (Sandbox Code Playgroud) 我是颤振的新手,很抱歉这个基本问题,我只是无法通过搜索找到答案。
在flutter项目中,pubspec.yaml文件中有依赖项。例如,我正在使用:
firebase_auth: ^0.18.3
cloud_firestore: ^0.14.3
Run Code Online (Sandbox Code Playgroud)
现在,来自 ios 开发,我过去常常将这些添加到我的 podfile 中:
pod 'Firebase/Auth'
pod 'Firebase/Firestore'
Run Code Online (Sandbox Code Playgroud)
现在,在 flutter 中,将它们添加为 pubspec.yaml 中的依赖项就足够了,而不需要将它们添加到 podfile 中。我很困惑,因为我读过一些教程,您需要将内容添加到 pod 文件,然后运行 pod install。那么什么时候需要 pod,什么时候可以依赖 pubspec。
同样的问题也适用于 android build.grade 依赖项。
谢谢
我正在使用:flutter_local_notifications:^5.0.0+3
我正在显示这样的通知,一切正常。自定义图标也有效。但我试图设置一个大图标,但它只是没有显示。这是没有任何大图标的通知的屏幕截图:
更新 - 当我锁定手机时会显示,并且通知显示在锁定屏幕上。但是,当它在屏幕上弹出时,它不会显示。另外,当我向下滑动并查看列表中的所有通知时,它不会显示。仅在锁定屏幕上。为什么会这样呢?
这是我的代码:
class _MyAppState extends State<MyApp> {
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin;
FirebaseMessaging messaging = FirebaseMessaging.instance;
@override
void initState() {
notificationPermission();
initMessaging();
subscribeToTopic('test');
createChannel();
super.initState();
}
// users unique token
void getToken() async {
print(await messaging.getToken());
}
@override
Widget build(BuildContext context) {
getToken();
// showNotification();
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(title: Text('AppBar Demo')),
),
);
}
void notificationPermission() async {
NotificationSettings settings = await messaging.requestPermission(
alert: true,
announcement: false,
badge: true, …
Run Code Online (Sandbox Code Playgroud) 我正在将 Riverpod 与 flutter 一起使用。
在我的主屏幕上,我有一个 FutureProvider,它调用 API 服务器,并在页面上显示结果。
在应用程序的不同点,不同屏幕上的用户进行更改,然后我从另一个屏幕刷新提供程序。像这样
ref.refresh(calendarResponseProvider);
Run Code Online (Sandbox Code Playgroud)
现在,由于某种原因,刷新呈灰色,我收到此错误:
现在,我在另一个屏幕上使用刷新值。难道我做错了什么?我应该忽略它吗?
当我在 Android Studio 中重新运行我的应用程序时,我收到了一个随机错误列表,包括“运行应用程序”和“应用更改”。我必须清理和重建,然后它才能工作。像这样的错误:
Program type already present: androidx.transition.R
Duplicate resources
error: class BuildConfig is public, should be declared in a file named BuildConfig.java
Program type already present: androidx.recyclerview.R$drawable
Program type already present: androidx.lifecycle.extensions.R$style
Run Code Online (Sandbox Code Playgroud)
类型loadImageToStorage$2
被定义多次:
为什么我不断收到这些消息?它极大地减慢了我的工作。
它似乎主要与重复资源有关,但是当我执行“构建”然后运行它时,它总是会清除。
我已经完全卸载了Android Studio,并重新安装,我仍然有同样的问题。在 mac 上运行。
非常感谢。
我将我的应用程序上传到谷歌游戏商店,地图不起作用,只显示白屏.据我所知,我必须根据发布证书指纹获取密钥.我试图阅读所有相关内容,并完成了以下操作,但它仍然无法正常工作:
我从Android Studio创建了一个新的密钥库(包含密码,别名和密码等).
我运行cmd并执行此操作:
keytool -list -v -keystore key.jls -alias MyPlaces
然后输入我的密码,并获得我需要的所有信息.我根据我得到的sha1指纹结果为谷歌地图生成了一个键并放置了api.我输入了我的包裹名称.我将Alias代码放回到我的应用程序中以获取密钥.
但它仍然无效.我知道其他人都遇到过这个问题,但对他们有帮助却没有帮助我.
为什么?我希望它清楚我所写的内容.谢谢
我每次去游戏店时都不会上传它.而是我创建签名的apk,然后尝试从我的手机运行它.这件事吗?
编辑:
这是我在日志中收到的消息.
06-22 23:10:07.529 6500-6543 /?E/b:服务器上的身份验证失败.
06-22 23:10:07.530 6500-6543 /?E/Google Maps Android API:授权失败.有关如何正确设置地图的信息,请参阅https://developers.google.com/maps/documentation/android-api/start.
06-22 23:10:07.536 6500-6543 /?E/Google Maps Android API:在Google Developer Console中(https://console.developers.google.com)
确保已启用"Google Maps Android API v2".
确保存在以下Android Key:
API密钥:YOUR_KEY_HERE
Android应用程序(;):38:....... F0; com ..... myplaces(为了安全起见我删除了这个)
android google-maps google-places-api google-maps-android-api-2
将我的iPhone 5更新为ios 12.1后,我在xcode中收到此错误:
找不到设备支持文件.此iPhone 5s(型号A1457,A1518,A1528,A1530)运行的是iOS 12.1(16B92),此版本的Xcode可能不支持此功能.
我该怎么办?
我做了一个登录活动(使用 Android studios 自动登录活动)。这是用于电子邮件视图输入的小部件:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Autocomplete"
android:textColorHint="#fff">
<AutoCompleteTextView
android:id="@+id/email"
android:textColor="#fff"
android:theme="@style/Autocomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_email"
android:inputType="textEmailAddress"
android:maxLines="1"
android:shadowColor="#fff"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
这是样式:
<style name="Autocomplete">
<item name="colorControlNormal">#fff</item>
<item name="colorControlActivated">#fff</item>
</style>
Run Code Online (Sandbox Code Playgroud)
看起来不错。当单击电子邮件编辑文本时,android 会给我建议的电子邮件,当我单击它时,它会自动填写电子邮件和密码。这很棒。但是,在自动填充发生后,背景颜色会自动更改为淡色。我怎么能阻止这个?
非常感谢。
附上图片:
当您单击建议的电子邮件时,会发生这种情况:
但它应该是这样的:
这是活动:
package com.alarm.reuven.beyoung.SignInActivity;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.annotation.TargetApi;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.app.LoaderManager.LoaderCallbacks;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import …
Run Code Online (Sandbox Code Playgroud) 我开始在 flutter 中学习 Getx,并使用导航。
我想设置unknownRoute,以防命名路由中存在拼写错误等,因此应用程序应该转到默认页面。
我确实喜欢这样:
return GetMaterialApp(
title: 'Named navigation',
unknownRoute: GetPage(name: '/notfound', page: () => UnknownRoutePage()),
initialRoute: '/', // this defines with route will be opened first
getPages: [
GetPage(name: '/', page: () => MyNavigationNamed()),
GetPage(name: '/second', page: () => SecondScreenNamed()),
GetPage(name: '/third', page: () => ThirdParametersScreenNamed()),
GetPage(
name: '/third_with_built_param/:someValue',
page: () => ThirdParametersScreenNamed()),
],
Run Code Online (Sandbox Code Playgroud)
我有小部件:
class UnknownRoutePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(child: Text('UNKNOWN ROUTE')));
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过在路线名称中犯错误来测试它时,如下所示:
ElevatedButton(
onPressed: () …
Run Code Online (Sandbox Code Playgroud) 我有一个很简单的问题,但我找不到答案。
我已经制作了一个 Android 应用程序,我想检查 Google 是否会在 Play 商店上接受,但我还没有准备好发布它。如果谷歌会提出问题,我现在想知道,然后再进一步。有什么办法可以将其发送以供批准,然后在稍后发布吗?
我知道我可以进行 Alpha 和 Beta 测试,但我不知道这是否意味着 Google 会批准该应用程序在商店中使用。
谢谢!
flutter ×5
android ×4
autocomplete ×1
flutter-getx ×1
google-maps ×1
google-play ×1
ios12 ×1
iphone ×1
riverpod ×1
webview ×1
xcode ×1