更新概述

v1.24.0 版本为 OpenHarmony 钱包应用增加了资产隐私模式功能。用户现在可以通过点击余额卡片上的眼睛图标,一键隐藏所有金额显示,保护个人财务隐私。这个功能特别适合在公共场合使用应用时,防止他人看到你的资产信息。

在这里插入图片描述


核心功能更新

1. 隐私模式状态管理

隐私模式变量
bool _isPrivacyMode = false;

说明

  • 用于跟踪当前是否启用隐私模式
  • 默认为 false(不启用隐私模式)
  • 点击眼睛图标时切换状态

2. 隐私模式UI实现

余额卡片修改
/// 构建余额卡片
Widget _buildBalanceCard() {
  return Container(
    margin: const EdgeInsets.all(16),
    decoration: BoxDecoration(
      gradient: LinearGradient(
        colors: [Colors.blue.shade400, Colors.blue.shade800],
        begin: Alignment.topLeft,
        end: Alignment.bottomRight,
      ),
      borderRadius: BorderRadius.circular(20),
      boxShadow: [
        BoxShadow(
          color: Colors.blue.withOpacity(0.3),
          blurRadius: 10,
          offset: const Offset(0, 5),
        ),
      ],
    ),
    padding: const EdgeInsets.all(24),
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            Text(
              'OpenHarmony 钱包',
              style: Theme.of(context).textTheme.titleMedium?.copyWith(
                    color: Colors.white70,
                    fontWeight: FontWeight.w500,
                  ),
            ),
            GestureDetector(
              onTap: () {
                setState(() {
                  _isPrivacyMode = !_isPrivacyMode;
                });
              },
              child: Icon(
                _isPrivacyMode ? Icons.visibility_off : Icons.visibility,
                color: Colors.white70,
                size: 24,
              ),
            ),
          ],
        ),
        const SizedBox(height: 12),
        Text(
          _isPrivacyMode ? '****' : ${_currentBalance.toStringAsFixed(2)}',
          style: Theme.of(context).textTheme.displayMedium?.copyWith(
                color: Colors.white,
                fontWeight: FontWeight.bold,
              ),
        ),
        const SizedBox(height: 12),
        Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            _buildBalanceStat('收入', _calculateTotalIncome(), Colors.green),
            _buildBalanceStat('支出', _calculateTotalExpense(), Colors.red),
          ],
        ),
      ],
    ),
  );
}

说明

  • 在卡片顶部添加了眼睛图标按钮
  • 点击图标可以切换隐私模式
  • 隐私模式启用时,显示 **** 代替金额
  • 隐私模式禁用时,显示正常的金额数字

3. 隐私模式效果

正常模式
┌─────────────────────────────────┐
│  OpenHarmony 钱包        👁️     │
│                                 │
│  ¥45,000.00                     │
│                                 │
│  收入: ¥5,000    支出: ¥135    │
└─────────────────────────────────┘
隐私模式
┌─────────────────────────────────┐
│  OpenHarmony 钱包        👁️‍🗨️    │
│                                 │
│  ****                           │
│                                 │
│  收入: ****      支出: ****     │
└─────────────────────────────────┘

使用场景

场景 1:在公共场合保护隐私

  1. 在咖啡厅、地铁等公共场合打开应用
  2. 点击余额卡片上的眼睛图标
  3. 所有金额都被隐藏,显示为 ****
  4. 可以安心查看交易记录,不用担心他人看到资产信息

场景 2:快速切换显示状态

  1. 点击眼睛图标隐藏金额
  2. 处理完事务后,再点击一次显示金额
  3. 快速切换,无需任何额外操作

场景 3:演示或截图

  1. 在演示应用功能时,启用隐私模式
  2. 截图分享给他人,不会泄露个人财务信息
  3. 保护个人隐私的同时展示应用功能

功能特点

1. 一键切换

  • 点击眼睛图标即可启用/禁用隐私模式
  • 无需进入设置菜单
  • 操作简单快速

2. 实时反馈

  • 图标变化明显(睁眼 👁️ 变闭眼 👁️‍🗨️)
  • 用户能立即看到隐私模式的状态
  • 视觉反馈清晰

3. 完整隐藏

  • 隐藏主余额
  • 隐藏收入统计
  • 隐藏支出统计
  • 全面保护财务信息

4. 无性能影响

  • 仅切换显示状态,不涉及数据计算
  • 切换瞬间完成
  • 不占用额外内存

版本对比

功能 v1.23.0 v1.24.0
高级搜索
隐私模式
一键隐藏金额
眼睛图标按钮

技术实现

1. 状态管理

bool _isPrivacyMode = false;

// 切换隐私模式
setState(() {
  _isPrivacyMode = !_isPrivacyMode;
});

2. 条件显示

Text(
  _isPrivacyMode ? '****' : ${_currentBalance.toStringAsFixed(2)}',
  style: Theme.of(context).textTheme.displayMedium?.copyWith(
        color: Colors.white,
        fontWeight: FontWeight.bold,
      ),
)

3. 图标切换

Icon(
  _isPrivacyMode ? Icons.visibility_off : Icons.visibility,
  color: Colors.white70,
  size: 24,
)

用户体验优化

1. 视觉设计

  • 眼睛图标放在卡片右上角,易于点击
  • 图标颜色与卡片背景协调
  • 图标大小适中,易于识别

2. 交互反馈

  • 点击图标时有明显的状态变化
  • 金额显示和图标同时更新
  • 用户能立即看到效果

3. 隐私保护

  • 隐藏所有敏感的金额信息
  • 保护用户在公共场合的隐私
  • 增强用户的安全感

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐