درود بر دوستان عزیز و فلاتری های نازنین یک چند تا سوالات مفیده استک است که می خواهیم باهم جواب هاش را بررسی کنیم
من یک اپی دارم که می خوام لوگوی اپ را اول کار بزارم و بعد از چند ثانیه صفحه ی اصلی برنامه نمایش داده بشه چکار کنم ؟
جواب
import 'dart:async'; import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: SplashScreen(), ); } } class HomeScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Container(color: Colors.white,); } } class SplashScreen extends StatefulWidget { @override _SplashScreenState createState() => _SplashScreenState(); } class _SplashScreenState extends State<SplashScreen> { @override void initState() { super.initState(); Timer( Duration(seconds: 3), () => Navigator.of(context).pushReplacement(MaterialPageRoute( builder: (BuildContext context) => HomeScreen()))); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.blue, body: Center( child: Text( 'Hello world', ) ), ); } }
خوب با استفاده از Timer مدت زمان مشخصی بهش دادیم که در این مثال 3 ثانیه است و با استفاده از متد pushReplacement کاری کردیم که وقتی صفحه ی جدید باز میشه این صفحه بسته بشه و نشه به قسمت قبل برگشت
به همین سادگی به همین خوشمزگی :)
من کد رنگی را دارم اما نمی دونم چطوری به ویجتم بدهم ؟
جواب
const color = const Color(0xffb74093);
خوب کافی است این گونه و با ثابت 0xff کد رنگی را به ویجت مورد نظر بدهیم
ولی خوب می تونید کلاس ثابتی تعریف کنید که فقط با دادن کد رنگی رنگ مورد نظر را بهتون برگردونه
final Color color = HexColor.fromHex('#aabbcc'); extension HexColor on Color { static Color fromHex(String hexString) { final buffer = StringBuffer(); if (hexString.length == 6 || hexString.length == 7) buffer.write('ff'); buffer.write(hexString.replaceFirst('#', '')); return Color(int.parse(buffer.toString(), radix: 16)); }
من یک تکس دارم و می خوام یک کلمه آن زیر خط باشه یکی اش نه یا زیر خط موج دار داشته باشه یا... چکار کنم ؟
جواب
اول طریقه ی ساده زیر خط دادن به شرح زیر است
Text( 'Hello world', style: TextStyle( decoration: TextDecoration.underline, ), )
اما می تونید یک کلمه زیر خط داشته باشه و دیگری خیر
Text.rich( TextSpan( text: 'Hello ', style: TextStyle(fontSize: 50), children: <TextSpan>[ TextSpan( text: 'world', style: TextStyle( decoration: TextDecoration.underline, )), // can add more TextSpans here... ], ), )
می تونید زیر خط به حالت دش داشته باشید کافی خط زیر را به کد بالا اضاف کنید
decorationStyle: TextDecorationStyle.dashed
TextDecorationStyle.dotted
TextDecorationStyle.wavy
TextDecorationStyle.double
من برنامه نویس نیتیو هستم حالا آمدم سمت فلاتر می تونید بهم بگید matchparent و wrapcontent چطوری هست در فلاتر ؟
جواب
Container( height: double.infinity, width: double.infinity,child:*your_child*) Row( mainAxisSize: MainAxisSize.max, children: <Widget>[*your_child*], ); Row( mainAxisSize: MainAxisSize.min, children: <Widget>[*your_child*], );
من دلم می خواد در اپ استاتوس بار و این ها نمایش داده نشود در کل فول اسکرین باشه چکار کنم ؟
جواب
کد زیر را کافی است اضاف کنید و تموم
SystemChrome.setEnabledSystemUIOverlays([])
اگر مفید بوده قلب یاد تون نره و آن را با دوستان تون به اشتراک بگذارید شاید سوال آن ها هم باشه از کجا معلوم :)