MaskWallpaper 一款用 Flutter 开发的随机切换壁纸,保持壁纸装饰,生成壁纸的手机 App(免费,无广) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Marno
V2EX    Android

MaskWallpaper 一款用 Flutter 开发的随机切换壁纸,保持壁纸装饰,生成壁纸的手机 App(免费,无广)

  •  
  •   Marno 143 天前 2182 次点击
    这是一个创建于 143 天前的主题,其中的信息可能已经有所发展或是发生改变。

    头图

    我用 Flutter 开发了一款壁纸相关的应用,叫做 MaskWallpaper ,它包括三个核心功能:

    • 壁纸装饰:通过自由排列矩形、圆形、图片、二维码、文字等元素,快速创建壁纸装饰。
    • 壁纸切换:用户可以通过通知栏图标、快捷指令或桌面小组件等多种方式,快速随机切换壁纸。
    • 壁纸生成:内置多种风格的壁纸生成器,每次点击生成按钮都会随机生成一张专属于你的壁纸

    起初是因为我平时不喜欢折腾手机主题,就喜欢偶尔换换壁纸,但又不喜欢那种自动定时换壁纸的感觉,而是最好在手机某个地方点击一下就随机换一张。本来之前有一个叫做 [随机壁纸 App ] 的应用可以用的,但是换了 vivo 以后,可能是 API 调用有点问题,点击切换会把锁屏和桌面同时换了。但锁屏是我调了半天的景深壁纸啊,就这么给我换了,多少有点难受。于是想到就自己动手写一个。

    1. 壁纸装饰

    我发现,很多人喜欢在壁纸上添加一些自定义的装饰,比如给 dock 栏增加一个背景,给屏幕挖空增加一些俏皮的装饰,给桌面图标增加一些分割,或者是桌面上会放置一些贴图,格言,诗词之类的。

    但有个很大的问题就是如果直接切换壁纸,这些辛辛苦苦创建的装饰就没有了,我就想着把这些东西弄成一个模板,然后切换壁纸的时候,再和最新的壁纸叠加一下就好了。

    添加装饰

    2. 壁纸切换

    MaskWallpaper 提供了三种切换壁纸的方式,桌分别是:桌面小组件,Shortcuts ,通知中心图标

    相比随机壁纸 App 点击桌面 logo 更换的方式,我其实更喜欢在通知中心的的方式进行切换。因为它是唯一可以实现在锁屏时候,也能切换锁屏壁纸的方式。

    3. 壁纸生成

    另外,顺手做了几种不同风格的壁纸生成器,没有接入 AI ,就是纯代码实现的,就当是图一乐吧。你要说生成的壁纸多好看,倒也不至于,但独一无二倒是可能的。下面就是我用 Mask Wallpaper 生成的一些壁纸,应该还是将就能看上一看吧。

    壁纸 1 壁纸 2 壁纸 3

    4.下载

    整个 App 的使用可以说是比较简单吧,对于喜欢换壁纸的人来说可能会比较用的上。欢迎大家下载体验,如果能用到的话,可以顺便 Google Play 上给 5 星好评,感谢~

    另外头一回在 ProductHunt 上弄投票,求大家投个免费的票票!

    2 条回复    2025-05-28 15:31:00 +08:00
    winxberg
        1
    winxberg  
       143 天前
    感觉棒棒的。
    Marno
        2
    Marno  
    OP
       143 天前
    @winxberg 多谢支持!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2423 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 50ms UTC 15:40 PVG 23:40 LAX 08:40 JFK 11:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86