Skip to content

Commit

Permalink
优化代码
Browse files Browse the repository at this point in the history
  • Loading branch information
yihaha committed Aug 8, 2019
1 parent 68bf1ac commit 1c4c00d
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 4 deletions.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion lib/home_root.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:meimei/ycolors.dart';
import 'package:meimei/constant/ycolors.dart';

import 'leisure.dart';
import 'meitu.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/http/httputil.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:collection';
import 'package:connectivity/connectivity.dart';
import 'package:dio/dio.dart';

import '../string.dart';
import 'package:meimei/constant/string.dart';
import 'http_response.dart';

class HttpUtil {
Expand Down
2 changes: 1 addition & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:meimei/ycolors.dart';
import 'package:meimei/constant/ycolors.dart';

import 'home_root.dart';

Expand Down
12 changes: 11 additions & 1 deletion lib/meitu.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import 'dart:async';
import 'dart:io';
import 'dart:ui';

import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:meimei/utils/screen_util.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';

import 'bean/meitu.dart';
Expand All @@ -26,6 +29,9 @@ class MeiTuState extends State<MeiTu> with AutomaticKeepAliveClientMixin {
@override
void initState() {
super.initState();
Timer(Duration(milliseconds: 1000), () {
ScreenUtil.updateStatusBarStyle(SystemUiOverlayStyle.dark);
});

///默认不显示回首页按钮
_mRefreshController = RefreshController();
Expand All @@ -47,11 +53,14 @@ class MeiTuState extends State<MeiTu> with AutomaticKeepAliveClientMixin {

///控制导航栏的显示与隐藏
if (offset <= kToolbarHeight + MediaQuery.of(context).padding.top) {
///隐藏
setState(() {
ScreenUtil.updateStatusBarStyle(SystemUiOverlayStyle.dark);
yNavigationShow = 0;
});
} else {
setState(() {
ScreenUtil.updateStatusBarStyle(SystemUiOverlayStyle.light);
yNavigationShow = 1;
});
}
Expand Down Expand Up @@ -105,7 +114,8 @@ class MeiTuState extends State<MeiTu> with AutomaticKeepAliveClientMixin {
childAspectRatio: 3 / (_isOneColumn ? 3.5 : 4),
crossAxisSpacing: 8),
itemCount: _tuList.length,
padding: EdgeInsets.fromLTRB(8, 0, 8, 8),
padding: EdgeInsets.fromLTRB(
8, ScreenUtil.getStatusHeight(), 8, 8),
itemBuilder: (context, index) {
var itemBean = _tuList[index];
return GestureDetector(
Expand Down
45 changes: 45 additions & 0 deletions lib/utils/screen_util.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import 'dart:async';
import 'dart:ui';

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

class ScreenUtil {
///获取屏幕宽 ,注意: MediaQuery.of(context).padding.top 方法在release版本可能出现白屏
static double getWinWidth() {
return window.physicalSize.width;

///或者
/// MediaQueryData mediaQuery = MediaQueryData.fromWindow(ui.window);
/// return mediaQuery.size.width;
}

///获取屏幕高度
static double getWinHeight() {
return window.physicalSize.height;

///或者
/// MediaQueryData mediaQuery = MediaQueryData.fromWindow(ui.window);
/// return mediaQuery.size.height;
}

///获取appbar的高度
static double getBarHeight() {
MediaQueryData mediaQuery = MediaQueryData.fromWindow(window);
return mediaQuery.padding.top + kToolbarHeight;
}

///状态栏高度
static double getStatusHeight() {
MediaQueryData mediaQuery = MediaQueryData.fromWindow(window);
return mediaQuery.padding.top;
}

///更新状态栏样式,字体颜色改变
static updateStatusBarStyle(SystemUiOverlayStyle style) {
///不加定时可能出现整个statusbar颜色改变
Timer(Duration(milliseconds: 678), () {
SystemChrome.setSystemUIOverlayStyle(style);
});
}
}

0 comments on commit 1c4c00d

Please sign in to comment.