场景设定:车载音乐系统里的「魔术抽屉」—— 平时藏起来,需要时滑出
在车载音乐 App 的「大厦」中,除了主房间(登录界面、设置页面),还有一个特殊的小空间:搜索悬浮抽屉(Window #6)。它像汽车中控台里的隐藏储物格,平时收在底部,点击搜索按钮时才会弹出:
1. 抽屉的「身份标签」:悬浮在所有界面之上的搜索工具
plaintext
Window #6 Window{b1ce845 u0 com.tech.music}
mDisplayId=0(主屏幕大厦1楼) rootTaskId=1(基础工程编号)
package=com.tech.music(所属品牌:车载音乐科技)
mBaseLayer=41000(楼层号:41000层,比所有房间都高)
mViewVisibility=0x4(状态:半隐藏,像抽屉关了90%)
isVisible=false(当前看不到抽屉内部)
类比:这是车载音乐科技的第 6 号「搜索抽屉」,住在 41000 层 —— 比登录房间(21000 层)和设置工作室都高,意味着它能像无人机一样悬浮在任何界面上方。现在抽屉处于「半关」状态,从外面看不到里面的搜索框。
2. 抽屉的「设计图纸」:长条形的悬浮搜索框
plaintext
mAttrs={(60,1530)(1320x140)(位置:距左60cm,距顶1530cm,大小1320x140cm)
ty=SEARCH_BAR(类型:专门搜歌的工具抽屉) fmt=RGBA_8888(材质:彩色不透明塑料)
fl=NOT_FOCUSABLE(不能单独打开) LAYOUT_NO_LIMITS(可悬浮在任何位置)
Requested w=1320 h=140(申请尺寸:长1320cm,高140cm,像车载中控的长条形储物格)
类比:
- 搜索抽屉设计成「长条形储物格」,放在屏幕左下角 60cm、距顶部 1530cm 的位置(假设屏幕高 1920cm,1530cm 接近底部),正好适合开车时单手点击。
- 材质是彩色不透明塑料,方便看清搜索框;但它「不能单独打开」,必须通过主界面的「搜索」按钮触发(比如按一下中控台上的放大镜图标)。
- 允许悬浮在任何位置(LAYOUT_NO_LIMITS),就像车载手机支架,可以吸附在中控台上的任意地方。
3. 抽屉的「海拔高度」:为什么在 41000 层?
plaintext
mBaseLayer=41000(比所有房间的楼层都高)
类比:
这个搜索抽屉的「海拔」很高,意味着它像「悬浮在车顶的行李架」,无论用户当前在哪个界面(听音乐、调设置),只要触发搜索,行李架就会降下,覆盖在当前界面上方,不会被任何房间挡住。
4. 抽屉的「开关状态」:现在是「收起来」的状态
plaintext
mHasSurface=false(抽屉内部没开灯) isReadyForDisplay()=false(没准备好展示)
mDrawState=NO_SURFACE(还没画出搜索框图案)
类比:
现在搜索抽屉是「锁在中控台里」的状态,内部没开灯,也没印上搜索框的图案(输入框、放大镜图标)。当用户点击主界面的「搜索」按钮时,抽屉会电动滑出(mHasSurface 变为 true),同时开灯,搜索框图案才会清晰显示。
5. 抽屉的「实际位置」:屏幕底部的 140cm 高度
plaintext
Frames: content=[60,1630][1380,1770](实际位置:左60cm,底部190cm(1920-1770=150))
touchable region=长条形区域(60,1630到1380,1770)
类比:
搜索抽屉滑出时会停在屏幕底部,高度 140cm(1770-1630=140),正好对应车载中控台下的储物格高度。就像开车时伸手就能摸到的抽屉,方便快速输入歌曲名,不影响驾驶视线。
6. 抽屉的「兼容性」:不挡其他功能按钮
plaintext
fl=NOT_TOUCH_MODAL(不会阻断其他触摸操作)
fitTypes=STATUS_BARS NAVIGATION_BARS(避开状态栏和导航栏)
类比:
搜索抽屉设计成「透明隔板」模式,比如用户在搜索时仍能点击背景的播放按钮,就像隔板不影响下面的物品取用。同时,它会自动避开顶部的状态栏(显示车速、时间)和底部的导航栏(返回主界面按钮),就像储物格不会挡住中控台上的物理按键。
总结:这个搜索抽屉什么时候派上用场?
这是车载音乐科技的搜索悬浮框,目前像中控台下的隐藏抽屉:
-
住在 41000 层,比所有界面都高,确保弹出时覆盖在最上层;
-
尺寸是长条形,放在屏幕底部附近,滑出时显示搜索输入框,适合开车时单手操作;
-
当用户点击主界面的「搜索」按钮时,抽屉会从底部滑出(mHasSurface 变为 true),允许输入歌曲名,同时不影响背景播放界面的操作 —— 就像开车时伸手拉开储物格,快速拿取物品后又能推回去,不影响驾驶安全。
通过「车载隐藏储物格」的类比,能直观理解这类悬浮窗口的逻辑:平时隐藏不碍事,需要时快速弹出,符合车载场景的便捷性需求~