我正在构建一个显示 PDF 的应用程序,但我不知道如何使用 SwiftUI 显示 PDF 文件。我找到了有关如何使用 UIKit 显示 PDF 文件的教程,但没有关于 SwiftUI 的教程。谁能帮我?
我也尝试使用 MVVM 设计模式来做到这一点。如果有人可以帮助我,我将不胜感激!
import SwiftUI
struct HomeView: View {
var deeds: [Deed] = deedsData
var body: some View {
NavigationView {
List(deeds) { item in
Button(action: {
}) {
HStack {
Image(systemName: "doc.fill")
Text(item.title)
}
}
}
.navigationTitle("title")
}
}
}
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
HomeView(deeds: deedsData)
}
}
Run Code Online (Sandbox Code Playgroud)
import SwiftUI
struct Deed: Identifiable {
var id = …Run Code Online (Sandbox Code Playgroud) 我正在构建一个非常简单的应用程序来从流行的动漫网站流式传输动漫,但是我很难使用 Hive。
我正在尝试从动漫网站获取所有动漫,然后将其保存到 Hive 中的缓存中。然而我遇到了问题,这阻碍了我的发展。我注册了一个适配器,但 Hive 告诉我没有。
有谁知道如何解决它?
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:twist_go/pages/nav_screen.dart';
void main() async {
runApp(EasyLocalization(
supportedLocales: [Locale('en', 'US')],
path: 'lib/assets/translations',
fallbackLocale: Locale('en', 'US'),
child: TwistGO(),
));
}
class TwistGO extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primaryColor: Colors.blueGrey[800],
scaffoldBackgroundColor: Colors.blueGrey[700],
),
localizationsDelegates: context.localizationDelegates,
supportedLocales: context.supportedLocales,
locale: context.locale,
home: NavScreen(),
);
}
}
Run Code Online (Sandbox Code Playgroud)
import 'dart:convert';
import 'package:hive/hive.dart';
part 'anime_all.g.dart';
List<AnimeAll> animeAllFromJson(String str) =>
List<AnimeAll>.from(json.decode(str).map((x) => AnimeAll.fromJson(x)));
String animeAllToJson(List<AnimeAll> data) …Run Code Online (Sandbox Code Playgroud) 我需要有关为我的 AppBar 制作动画的帮助。
我的AppBar隐藏在DoubleTap上,但里面没有动画,它立即隐藏。我想把它动画化。我尝试用 SlideTransition 和 AnimatedContainer 小部件包装我的 AppBar,但这些都不起作用,因为错误表明我需要 PreferredSize 小部件。
如果有人帮助我,我会非常高兴!
我已经检查过这个答案,但是回答这个问题的人也有同样的问题。没有动画。 在屏幕点击上显示(滑入)或隐藏(滑出)颤动 AppBar
这是我的 AppBar 的视频: https ://streamable.com/it7ib
这是我的 AppBar 的样子的照片:

代码:
import 'package:flutter/material.dart';
class GeneratedCouponScreen extends StatefulWidget {
@override
_GeneratedCouponScreenState createState() => _GeneratedCouponScreenState();
}
class _GeneratedCouponScreenState extends State<GeneratedCouponScreen> {
bool showAppBar = true;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: showAppBar ? AppBar() : null ,
backgroundColor: Colors.white,
body: GestureDetector(
onDoubleTap: () {
if (showAppBar) {
setState(() {
showAppBar = false;
});
}
else {
setState(() …Run Code Online (Sandbox Code Playgroud) 我想知道如何删除 SwiftUI 中 NavigationView 上方的顶部填充。
代码:
import SwiftUI
struct HomeView: View {
var deeds: [Deed] = deedsData
var body: some View {
NavigationView {
List(deeds) { item in
Image(systemName: "doc.fill")
}
.navigationTitle(Text("title"))
}
}
}
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
HomeView(deeds: deedsData)
}
}
Run Code Online (Sandbox Code Playgroud) 我想在容器上的 DoubleTap 上动态隐藏和显示应用程序栏,并带有一些隐藏动画,但此链接的解决方案不适用于我的项目:Flutter - How can Idynamic show or hide App Bars onpages
该应用程序的图片:

代码:
import 'package:flutter/material.dart';
class GeneratedCouponScreen extends StatelessWidget {
bool ShowAppBar = true;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: ShowAppBar ? AppBar(
title: Text('Makdolan Flutter'),
) : null ,
backgroundColor: Colors.white,
body: GestureDetector(
onDoubleTap: () {
ShowAppBar = false;
},
child: Container(
padding: EdgeInsets.all(16.0),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('DATA WYDANIA:', style: TextStyle(color: Colors.black),),
Text('10/09/2019', …Run Code Online (Sandbox Code Playgroud) 我写一个简单的优惠券应用,但最近我更新了一些依赖和我Fragment 没有让我return null
错误照片:


package com.szakes1.makdolannative.adapters
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import com.szakes1.makdolannative.R
import com.szakes1.makdolannative.fragments.CouponFragment
import com.szakes1.makdolannative.fragments.HomeFragment
class ViewPagerAdapter(fm: FragmentManager, private val numberOfFrags: Int) : FragmentStatePagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
override fun getItem(position: Int): Fragment? {
when (position) {
0 -> return HomeFragment()
1 -> return CouponFragment(R.drawable.coupon_hamburger)
2 -> return CouponFragment(R.drawable.coupon_icecream)
3 -> return CouponFragment(R.drawable.coupon_cheeseburger)
4 -> return CouponFragment(R.drawable.coupon_fries)
}
return null
}
override fun getCount(): Int {
return numberOfFrags
}
override fun getPageTitle(position: Int): CharSequence? {
when …Run Code Online (Sandbox Code Playgroud) 我正在努力使我的应用程序中的文本具有响应性,我正在从 Kotlin 重写为 Flutter。
关键是我有一个文本小部件,它需要响应。当我在16:9屏幕比例的手机上打开它时,还可以,但是当我在18:9屏幕比例的手机上打开我的应用程序时,文本没有填满剩余空间。
在 Kotlin 中,我使用了带有指南的 Contraint 布局,这使工作变得非常容易,但我不知道如何在 Flutter 中进行。
我正在使用 AutoTextSize 包,但它不工作,我打算它工作。
在我的 Kotlin 应用程序中,它看起来像这样

在屏幕比例为 18:9 的三星 Note 9 上的 Flutter 中看起来像这样:

我的代码:
import 'package:flutter/material.dart';
import 'package:auto_size_text/auto_size_text.dart';
import '../../helpers/makdolan.dart';
class GeneratedCouponScreen extends StatelessWidget {
final String couponImage;
GeneratedCouponScreen({Key key, @required this.couponImage}) : super(key: key);
@override
Widget build(BuildContext context) {
var _makdolan = Makdolan();
var now = _makdolan.calculateDate();
return Scaffold(
backgroundColor: Colors.white,
body: SafeArea(
child: Container(
padding: EdgeInsets.all(16.0),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ …Run Code Online (Sandbox Code Playgroud)