HarmonyOS 鸿蒙Next中希望能实现搜索框的沉浸光感

HarmonyOS 鸿蒙Next中希望能实现搜索框的沉浸光感 【问题描述】我想要实现华为音乐中搜索框那种沉浸光感的效果,但我看目前没有相关文档或实现方式来实现这个效果,希望官方能提供该方法

【问题现象】

cke_2845.png


更多关于HarmonyOS 鸿蒙Next中希望能实现搜索框的沉浸光感的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

是的,现在是通过HdsTabs接口适配,在其他场景下,要魔改就是比较麻烦。

更多关于HarmonyOS 鸿蒙Next中希望能实现搜索框的沉浸光感的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


单独放置一个hdstabs就能实现。,

在鸿蒙Next中,使用ArkUI的Search组件,设置backgroundColor为半透明色,并添加.backgroundBlurStyle(BlurStyle.Thin)实现模糊沉浸效果;通过.shadow(ShadowStyle.OuterDefault, { radius: 10, color: '#40FFFFFF' })赋予光感发光阴影,即可达到搜索框的沉浸光感。

在HarmonyOS Next中实现华为音乐搜索框的沉浸光感效果(背景模糊+彩色光晕),可通过 backdropBlur(背景模糊) 叠加半透明渐变背景完成。核心是利用 Stack 将搜索栏层叠在内容上方,给搜索栏区域设置 backdropBlurlinearGradient。示例代码:

@Entry
@Component
struct ImmersiveSearch {
  build() {
    Stack() {
      List() {
        ForEach(Array.from({length: 20}), (_, i) => {
          ListItem() { Text(`Item ${i}`).padding(10) }
        })
      }.height('100%')

      Column() {
        Search({ placeholder: '搜索音乐' })
          .backgroundColor('#30FFFFFF')
          .borderRadius(20).padding(12)
      }
      .width('90%').padding({ top: 50 })
      .backdropBlur(10)                 // 毛玻璃效果
      .linearGradient({                 // 光感渐变
        angle: 135,
        colors: [['#80FFD700', 0], ['#40FF69B4', 1]]
      })
      .borderRadius(24)
    }
    .width('100%').height('100%')
  }
}

backdropBlur(10) 实现背景模糊,linearGradient 叠加半透明彩色渐变,产生光感。调整模糊半径和渐变色即可匹配华为音乐效果。

回到顶部