اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم ورحمة الله وبركاته

عندي تطبيق flutter descktop اريد عند فتحه ان يكون مكبر يعني مثل ما اضغط على الزر المربع الموجود في الاعلى جنب زر الاغلاق

Capture.JPG

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

استخدم حزمة window_manager،  قم بالتثبيت كالتالي

flutter pub add window_manager

ثم استيراد الحزمة:

import 'package:window_manager/window_manager.dart';

ثم في الكود الرئيسي main للتطببيق  ضع التالي بعد RunApp لفتح التطبيق في وضع full screen:

WidgetsFlutterBinding.ensureInitialized();
// Must add this line.
await windowManager.ensureInitialized();

// Use it only after calling `hiddenWindowAtLaunch`
windowManager.waitUntilReadyToShow().then((_) async {
// Hide window title bar
await windowManager.setTitleBarStyle('hidden');
await windowManager.setFullScreen(true);
await windowManager.center();
await windowManager.show();
await windowManager.setSkipTaskbar(false);
});

وللخروج من وضع full screen نقوم بوضع false:

await WindowManager.instance.setFullScreen(false);

 

  • 0
نشر

مرحباً Amir,

للقيام بتكبير التطبيق عند فتحه، يمكنك استخدام المكتبة نفسها التي ذكرها المدرب مصطفى window_manager ولكن بشكل مختلف. يمكنك استخدام دالة setWindowSize لتحديد حجم النافذة عند الافتتاح. سأقوم بالكود التالي توضيح كيف يمكننا فعل ذلك:

import 'package:flutter/material.dart';
import 'package:window_manager/window_manager.dart';

void main() {
  runApp(MyApp());
  makeWindowLarge();
}

void makeWindowLarge() async {
  WidgetsFlutterBinding.ensureInitialized();
  await windowManager.ensureInitialized();
  await windowManager.setTitleBarStyle('hidden');
  await windowManager.setFullScreen(false);
  await windowManager.setWindowSize(800, 600); // يمكنك تعديل الأبعاد كما تشاء
  await windowManager.center();
  await windowManager.show();
  await windowManager.setSkipTaskbar(false);
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Desktop App'),
        ),
        body: Center(
          child: Text(
            'مرحبا بك في تطبيق فلاتر ديسكتوب',
            style: TextStyle(fontSize: 24),
          ),
        ),
      ),
    );
  }
}

لاحظ أنني أقوم بفتح التطبيق بحجم محدد بدلاً من الشاشة الكاملة. قمت بتحديد حجم النافذة باستخدام setWindowSize وقمت بتعيين العرض والارتفاع وفقاً لاحتياجاتك. يمكنك تعديل الأبعاد وفقاً للحجم الذي تريده.

 

  • 0
نشر

لا اريد تعيين حجم ثابت اريد الواجهة تكون بحجم شاشة الحاسوب (ليس fullscreen الذي يطبقه الكود await windowManager.setFullScreen(true))  شوف الصورة تفهم قصدي Capture.JPG.cfc7a7635650a6734e9377af2dbcf122.JPG عندما اضغط هاذ الايقونة تكبر النافذة انا لا اريد الضغط اريدها كبيرة عندما افتح البرنامج برمجيا

  • 0
نشر

هل تقصد فتح البرنامج بكامل الشاشة ( وكأنك ضغطت على أيقونة التكبير ) عندما يفتح البرنامج في البداية ( أي الوضع الافتراضي يكون تكبير للشاشة ) ؟

إذا كان هذا قصدك , فيمكنك فعل ذلك كالتالي ( باستخدام windowManager.screenSize.width و windowManager.screenSize.height ) :

import 'package:flutter/material.dart';
import 'package:window_manager/window_manager.dart';

void main() {
  runApp(MyApp());
  makeWindowFullScreen();
}

void makeWindowFullScreen() async {
  WidgetsFlutterBinding.ensureInitialized();
  await windowManager.ensureInitialized();
  await windowManager.setTitleBarStyle('hidden');
  await windowManager.setFullScreen(false);
  await windowManager.setWindowSize(windowManager.screenSize.width, windowManager.screenSize.height);
  await windowManager.center();
  await windowManager.show();
  await windowManager.setSkipTaskbar(false);
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Desktop App'),
        ),
        body: Center(
          child: Text(
            'مرحبا بك في تطبيق فلاتر ديسكتوب',
            style: TextStyle(fontSize: 24),
          ),
        ),
      ),
    );
  }
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...