имя приложения flutter не отображается при просмотре открытых приложений - PullRequest
0 голосов
/ 17 июня 2020

У меня есть свое приложение, и я изменил его имя и он отображается правильно, но когда вы видите открытые приложения на своем телефоне, приложение не имеет имени, но когда вы видите его значок в списке приложений, он отображается правильно, вы получите идею из изображений

протестировано на 5 разных устройствах

значок приложения в списке приложений (отображается правильно)

enter image description here

app name while seeing the opened applications

enter image description here

i don't know why this is happening i will share my manifest with you please tell me how to fix this problem

this is the AndroidManifest.xml

    package="com.eco.cat">    

мой main.dart

import 'Front-end/home/Companies.dart';
import 'Front-end/search/Search.dart';
import 'Front-end/settings/Settings.dart';
import 'file:///D:/programming/Android_Development/Projects/coupon_app/lib/reusable_widgets/functions/Device_Information.dart';
import 'package:app/reusable_widgets/logic/Check_SiteStatus.dart';
import 'package:app/reusable_widgets/logic/Responsiveness-Controller.dart';
import 'package:curved_navigation_bar/curved_navigation_bar.dart';
import 'package:flutter/material.dart';
import 'package:flutter_phoenix/flutter_phoenix.dart';
import 'package:provider/provider.dart';
import 'Themes/DarkThemeProvider.dart';
import 'Themes/DarkThemeStyle.dart';
import 'package:flutter/services.dart';

    void main() {
      WidgetsFlutterBinding.ensureInitialized();
      SystemChrome.setPreferredOrientations(
    [DeviceOrientation.portraitUp , DeviceOrientation.portraitDown])
      .then((_) => runApp(
    Phoenix(
      child: MyApp(),
     ),
    ),
  );
}

class MyApp extends StatefulWidget {
  // This widget is the root of your application.
  @override
  _MyAppState createState() => _MyAppState();
}


class _MyAppState extends State<MyApp> {
  DarkThemeProvider themeChangeProvider = new DarkThemeProvider();
  @override

  void initState() {
    super.initState();
    getCurrentAppTheme();
  }

  void getCurrentAppTheme() async {
    themeChangeProvider.darkTheme =
    await themeChangeProvider.darkThemePreference.getTheme();
  }

  Widget build(BuildContext context) {
    return
      ChangeNotifierProvider(
        create: (_) {
          return themeChangeProvider;
        },
        child: Consumer<DarkThemeProvider>(
          builder: (BuildContext context, value, Widget child) {
            return MaterialApp(
              debugShowCheckedModeBanner: false,
              theme: Styles.themeData(themeChangeProvider.darkTheme, context),
              home: MyHomePage(),
            );
          },
        ),
      );
  }
}



class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  //bottom navbar items to build body
  int _currentIndex = 1;
  final List<Widget> _children = [
    Search(),
    CompaniesPage(),
    Settings(),
  ];
  @override
  Widget build(BuildContext context) {
    //checks web server status
    checkSiteStatus(context);
    Color themeColor = Theme.of(context).backgroundColor;
    void changePage(int index){
      setState(() {
        _currentIndex = index;
      });
    }
    //setting app name based on current page
    String title = '';
    if(_currentIndex == 0){
      title = 'ابحث باستخدام التصنيفات';
    }else if(_currentIndex == 1){
      title = 'الشركات';
    }else if(_currentIndex == 2){
      title = 'الاعدادات';
    }
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        bottomOpacity: 0.0,
        elevation: 0.0,
        title: new Center(
          child: Text('$title',
            style: TextStyle(color: Colors.white ,
            fontSize: DeviceInformation(context).width *  ResponsivenessController(context).responsiveFont
            ),
          ),
        ),
      ),
      body: _children[_currentIndex],
      bottomNavigationBar: CurvedNavigationBar(
        index: _currentIndex,
        color: themeColor,
        backgroundColor: Colors.cyan,
        height: 75.0,
        items:<Widget>[
          Icon(Icons.search, size: DeviceInformation(context).height * ResponsivenessController(context).responsiveNavIcons),
          Icon(Icons.home, size: DeviceInformation(context).height * ResponsivenessController(context).responsiveNavIcons),
          Icon(Icons.settings, size: DeviceInformation(context).height * ResponsivenessController(context).responsiveNavIcons),
        ],
        onTap: changePage,
      ),
    );
  }
}

Ответы [ 3 ]

0 голосов
/ 02 июля 2020
Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Home sweet home"),
        ),
      body: Home(),
      );

вам лучше проверить appbar, есть ли у вас название или нет. и, возможно, title также будет отсутствовать в main.dart

0 голосов
/ 02 июля 2020

MaterialApp - это точка входа для приложения Flutter, использующего Material Design, поэтому его следует объявлять только один раз в виджете MyApp. Документы для него: , здесь .

Как объясняется в документах, свойство title MaterialApp - это то, что при просмотре открытых приложений. android:label в AndroidManifest - это заголовок, который отображается на главном экране.

Вы должны установить заголовок, используя следующий код

return MaterialApp(
  debugShowCheckedModeBanner: false,
  theme: Styles.themeData(themeChangeProvider.darkTheme, context),
  home: MyHomePage(),
  title: "EcoCat",
);
0 голосов
/ 17 июня 2020

используйте MaterialApp и задайте для этого заголовок. вот так:

import 'package:flutter/material.dart';

main() => runApp(new MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Your_App_Name',
      home: DashboardPage(),
    );
  }
}
...