提交 c91f5a22 编写于 作者: F fancy

应用角标位置调整

上级 67362900
......@@ -169,41 +169,52 @@ class AppsPage extends GetView<AppsController> {
))
: GestureDetector(
onTap: () => controller.openApp(element),
child: badges.Badge(
badgeContent: Text('${element.showNumber}',
style: const TextStyle(color: Colors.white)),
showBadge: (element.showNumber ?? 0) > 0,
child: _appItemView(context, element),
)));
child: _appItemView(context, element),
));
}
/// 应用 Item
Widget _appItemView(BuildContext context, AppFrontData element) {
Map<String, String> headers = {};
headers[O2ApiManager.instance.tokenName] =
O2ApiManager.instance.o2User?.token ?? '';
return Column(children: [
// Icon图标,原生应用是本地图标,门户应用是url
(element.type == O2AppTypeEnum.native)
? AssetsImageView(
element.nativeEnum?.assetPath ?? 'app_task.png',
width: 36.w,
height: 36.w,
)
: Image(
image: NetworkImage(element.portalIconUrl!, headers: headers),
alignment: Alignment.center,
width: 36.w,
height: 36.w,
fit: BoxFit.fill),
_appItemImageWithBadges(element),
Expanded(
flex: 1,
child: Center(
child: Text(element.name ?? '',
softWrap: true,
// textAlign: TextAlign.left,
// overflow: TextOverflow.clip,
// maxLines: 1,
style: Theme.of(context).textTheme.bodyMedium)))
]);
}
/// 应用图标 加上角标
/// 编辑的时候不显示角标
Widget _appItemImageWithBadges(AppFrontData element) {
return Obx(() => controller.state.isEdit
? _appItemImage(element)
: badges.Badge(
badgeContent: Text('${element.showNumber}',
style: const TextStyle(color: Colors.white)),
showBadge: (element.showNumber ?? 0) > 0,
child: _appItemImage(element)));
}
/// 应用图标
Widget _appItemImage(AppFrontData element) {
Map<String, String> headers = {};
headers[O2ApiManager.instance.tokenName] =
O2ApiManager.instance.o2User?.token ?? '';
return (element.type == O2AppTypeEnum.native)
? AssetsImageView(
element.nativeEnum?.assetPath ?? 'app_task.png',
width: 36.w,
height: 36.w,
)
: Image(
image: NetworkImage(element.portalIconUrl!, headers: headers),
alignment: Alignment.center,
width: 36.w,
height: 36.w,
fit: BoxFit.fill);
}
}
......@@ -53,35 +53,10 @@ class BannerAndAppsWidget extends GetView<DefaultIndexController> {
childAspectRatio: 0.8,
),
itemBuilder: (context, index) {
// if (index == controller.state.myAppList.length) {
// return GestureDetector(
// onTap: () => controller.openMoreApps(),
// child: Column(children: [
// AssetsImageView(
// 'app_more.png',
// width: 36.w,
// height: 36.w,
// ),
// Expanded(
// flex: 1,
// child: Center(
// child: Text('home_index_more_apps'.tr,
// softWrap: true,
// textAlign: TextAlign.left,
// overflow: TextOverflow.ellipsis,
// maxLines: 1,
// style: Theme.of(context).textTheme.bodyMedium)))
// ]));
// } else {
var app = controller.state.myAppList[index];
return GestureDetector(
onTap: () => controller.openApp(app),
child: badges.Badge(
badgeContent: Text('${app?.showNumber}',
style: const TextStyle(color: Colors.white)),
showBadge: (app?.showNumber ?? 0) > 0,
child: _appItemView(context, app!)));
// }
var app = controller.state.myAppList[index];
return GestureDetector(
onTap: () => controller.openApp(app),
child: _appItemView(context, app!));
}));
}
......@@ -91,26 +66,27 @@ class BannerAndAppsWidget extends GetView<DefaultIndexController> {
O2ApiManager.instance.o2User?.token ?? '';
return Column(children: [
// Icon图标,原生应用是本地图标,门户应用是url
(element.type == O2AppTypeEnum.native)
? AssetsImageView(
element.nativeEnum?.assetPath ?? 'app_task.png',
width: 36.w,
height: 36.w,
)
: Image(
image: NetworkImage(element.portalIconUrl!, headers: headers),
alignment: Alignment.center,
width: 36.w,
height: 36.w,
fit: BoxFit.fill),
badges.Badge(
badgeContent: Text('${element.showNumber}',
style: const TextStyle(color: Colors.white)),
showBadge: (element.showNumber ?? 0) > 0,
child: (element.type == O2AppTypeEnum.native)
? AssetsImageView(
element.nativeEnum?.assetPath ?? 'app_task.png',
width: 36.w,
height: 36.w,
)
: Image(
image: NetworkImage(element.portalIconUrl!, headers: headers),
alignment: Alignment.center,
width: 36.w,
height: 36.w,
fit: BoxFit.fill)),
Expanded(
flex: 1,
child: Center(
child: Text(element.name ?? '',
softWrap: true,
// textAlign: TextAlign.left,
// overflow: TextOverflow.clip,
// maxLines: 1,
style: Theme.of(context).textTheme.bodyMedium)))
]);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册