Titanium SDK 中的 Android CollapseToolbar 组件详解

Titanium SDK 中的 Android CollapseToolbar 组件详解

titanium-sdk 🚀 Native iOS and Android Apps with JavaScript titanium-sdk 项目地址: https://gitcode.com/gh_mirrors/ti/titanium-sdk

概述

CollapseToolbar 是 Titanium SDK 中一个专为 Android 平台设计的 UI 组件,它实现了 Material Design 中的可折叠工具栏(Collapsing Toolbar)效果。这个组件自 Titanium SDK 12.1.0 版本开始引入,为开发者提供了一种简单的方式来创建具有视觉吸引力的顶部工具栏布局。

核心功能

CollapseToolbar 主要提供以下功能:

  1. 可折叠效果:当用户滚动内容时,工具栏可以平滑地折叠和展开
  2. 视差效果:背景图片在滚动时会产生视差效果,增强视觉体验
  3. 标题动画:工具栏标题在折叠/展开过程中有大小变化的动画
  4. 内容区域:下方的内容区域自动支持滚动

主要属性详解

基本外观控制

  • barColor:设置扩展状态下工具栏的背景色(当没有设置图片时)
  • contentScrimColor:设置折叠状态下工具栏的背景色
  • image:设置工具栏的背景图片,支持本地和远程图片
  • imageHeight:设置背景图片的高度,默认为 250 像素

标题相关

  • title:设置工具栏显示的标题文本
  • color:设置标题文本的颜色
  • navigationIconColor:设置返回箭头图标的颜色

布局控制

  • contentView:设置主要内容区域,这个区域会自动支持滚动
  • displayHomeAsUp:布尔值,控制是否显示返回箭头图标
  • flags:控制滚动行为的标志位,使用 Titanium.UI.Android.SCROLL_FLAG_* 常量

事件处理

  • onHomeIconItemSelected:当用户点击返回箭头图标时的回调函数

使用示例

纯代码实现

const win = Ti.UI.createWindow({
    theme: "Theme.Titanium.DayNight.NoTitleBar"
});

// 创建内容视图
const contentView = Ti.UI.createView({
    layout: "vertical",
    height: Ti.UI.SIZE
});

// 添加一些内容
for (let i = 0; i < 40; ++i) {
    contentView.add(Ti.UI.createLabel({
        text: "项目 " + i,
        height: 40
    }));
}

// 创建 CollapseToolbar
const toolbar = Ti.UI.Android.createCollapseToolbar({
    contentScrimColor: "#2196F3", // 折叠状态颜色
    image: "header.jpg",          // 背景图片
    title: "我的应用",             // 标题
    imageHeight: 300              // 图片高度
});

win.addEventListener('open', function() {
    toolbar.contentView = contentView; // 设置内容视图
    toolbar.displayHomeAsUp = true;   // 显示返回箭头
    toolbar.onHomeIconItemSelected = function() {
        win.close();                  // 点击返回关闭窗口
    };
});

win.add(toolbar);
win.open();

Alloy XML 实现

<Alloy>
    <Window>
        <CollapseToolbar platform="android" 
            contentScrimColor="#4CAF50"
            image="header.jpg"
            title="Alloy示例"
            imageHeight="250">
            
            <ContentView>
                <View layout="vertical" height="Ti.UI.SIZE">
                    <!-- 这里添加你的内容 -->
                    <Label>这是内容区域</Label>
                    <Label>可以添加任意内容</Label>
                </View>
            </ContentView>
        </CollapseToolbar>
    </Window>
</Alloy>

最佳实践

  1. 图片选择:选择高分辨率的图片作为背景,确保在不同设备上都有良好的显示效果
  2. 颜色搭配:确保标题文本颜色与背景图片有足够的对比度
  3. 内容布局:内容区域使用 Ti.UI.SIZE 高度,让内容自然滚动
  4. 主题适配:使用 Theme.Titanium.DayNight.NoTitleBar 主题避免与系统标题栏冲突

注意事项

  1. CollapseToolbar 是 Android 平台专属组件,在其他平台上不会生效
  2. 确保在窗口打开事件(open)后再设置 contentView 属性
  3. 组件不支持常规的点击、触摸等事件,只支持特定的 home 图标点击事件
  4. 图片高度(imageHeight)和工具栏高度是两个不同的概念,需要分别考虑

通过合理使用 CollapseToolbar 组件,开发者可以轻松为 Android 应用添加符合 Material Design 规范的现代化界面效果,提升用户体验。

titanium-sdk 🚀 Native iOS and Android Apps with JavaScript titanium-sdk 项目地址: https://gitcode.com/gh_mirrors/ti/titanium-sdk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羿丹花Zea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值