我正在尝试使用 flutter customPainter 库绘制下面的图片。我怎样才能画出这个形状?
我的代码和结果
import 'package:flutter/material.dart';
class CurvePainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
var paint = new Paint();
paint.color = Colors.green[800];
paint.style = PaintingStyle.fill;
var path = new Path();
path.lineTo(0, size.height * 0.3);
path.quadraticBezierTo(size.width * 0.35, size.height * 0.4, size.width * 0.7, size.height * 0.21);
path.quadraticBezierTo(size.width * 0.6, size.height * 0.19, size.width * 0.9, size.height * 0.15);
path.quadraticBezierTo(size.width , size.height * 0.05, size.width * 0.6, 0);
canvas.drawPath(path, paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) { …Run Code Online (Sandbox Code Playgroud) 当我在android studio中运行我的应用程序时,我收到以下错误.
程序类型已存在:com.google.android.gms.common.api.zzf
firebase-core warning - >所有gms/firebase库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃).找到的版本12.0.1,10.0.1.示例包括com.google.android.gms:play-services-basement:12.0.1和com.google.android.gms:play-services-ads:10.0.1 less ...(Ctrl + F1)有一些组合库,或工具和库,不兼容,或可能导致错误.一个这样的不兼容性是使用不是最新版本的Android支持库版本(或者特别是低于targetSdkVersion的版本)进行编译.
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.fay.flow"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
testImplementation 'junit:junit:4.12'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.github.bumptech.glide:glide:4.6.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-database:12.0.1'
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation …Run Code Online (Sandbox Code Playgroud) 一段时间后,我想用android_alarm_manager插件在后台关闭audio_service。我怎么解决这个问题?
当我尝试这样做时,我收到以下错误。
[错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常:MissingPluginException(在频道 ryanheise.com/audioService 上找不到方法停止的实现)
我的代码如下。
动作.dart
FlatButton(
onPressed: () async {
await AndroidAlarmManager.oneShot(Duration(minutes: _minute.floor().toInt()), 0, backgroundCallback);
Navigator.pop(context);
},
child: Text(S.of(context).set),
)
Run Code Online (Sandbox Code Playgroud)
main.dart
void backgroundCallback() async {
AudioService.connect();
AudioService.stop();
}
void main() async {
WidgetsFlutterBinding.ensureInitialized();
init();
await sl<DotEnv>().load('.env');
//get theme
bool _isDarkTheme = await sl<SharedPreferenceHelper>().isDarkTheme() ?? false;
if (Platform.isAndroid) {
AndroidAlarmManager.initialize();
}
runApp(MainApp());
}
Run Code Online (Sandbox Code Playgroud)
Flutter 和 Dart 版本:
[?] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.18362.720], locale tr-TR)
• Flutter version 1.12.13+hotfix.9 at …Run Code Online (Sandbox Code Playgroud) backgroundworker alarmmanager dart flutter flutter-dependencies