轨道

  • 更新时间:2026-03-15 10:38:02

轨道-rail

这个控件和nav导航栏控件很像,只不过是竖向排列的

原生类型:{com.google.android.material.navigationrail.NavigationRailView}

轨道:和导航栏、工具栏、应用条很相似,但是这个组件是竖着的。

一、常用属性

图标颜色 - 图标颜色

设置图标颜色

<界面>
    <状态条 />
    <轨道 图标颜色="#C94F4F" 左外边距="80">
        <菜单 图标="ic_home_fill" 文本="主页" />
        <菜单 图标="ic_menu_fill" 文本="菜单" />
        <菜单 图标="ic_settings_fill" 文本="设置" />
    </轨道>
</界面>

文本颜色 - 文本颜色

设置文本颜色

<界面>
    <状态条 />
    <轨道 左外边距="160" 文本颜色="#C94F4F">
        <菜单 图标="ic_home_fill" 文本="主页" />
        <菜单 图标="ic_menu_fill" 文本="菜单" />
        <菜单 图标="ic_settings_fill" 文本="设置" />
    </轨道>
</界面>

选中颜色 - 选中后图标颜色

设置选中后图标颜色

<界面>
    <状态条 />
    <轨道 左外边距="240" 选中颜色="#C94F4F">
        <菜单 图标="ic_home_fill" 文本="主页" />
        <菜单 图标="ic_menu_fill" 文本="菜单" />
        <菜单 图标="ic_settings_fill" 文本="设置" />
    </轨道>
</界面>

背景颜色 - 背景颜色

设置背景颜色

<界面>
    <状态条 />
    <轨道 背景颜色="#C94F4F">
        <菜单 图标="ic_home_fill" 文本="主页" />
        <菜单 图标="ic_menu_fill" 文本="菜单" />
        <菜单 图标="ic_settings_fill" 文本="设置" />
    </轨道>
</界面>

背景图片 - 背景图片

设置背景图片

<界面>
    <状态条 />
    <轨道 左外边距="80" 背景图片="example/$ui - 交互界面/18.rail-轨道/img/img.png">
        <菜单 图标="ic_home_fill" 文本="主页" />
        <菜单 图标="ic_menu_fill" 文本="菜单" />
        <菜单 图标="ic_settings_fill" 文本="设置" />
    </轨道>
</界面>

二、常用函数

设置背景颜色(颜色)

设置背景颜色

  • 参数 : 颜色 {数字} 文本颜色值
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置背景颜色
轨道栏.设置背景颜色($颜色.红色);

设置背景颜色(颜色)

设置背景颜色

  • 参数 : 颜色 {字符串} 颜色字符串
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置背景颜色
轨道栏.设置背景颜色("#1E1F22");

设置图标颜色(颜色)

设置图标颜色

  • 参数 : 颜色 {数字} 文本颜色值
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置图标颜色
轨道栏.设置图标颜色($颜色.红色);

设置图标颜色(颜色)

设置图标颜色

  • 参数 : 颜色 {字符串} 颜色字符串
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置图标颜色
轨道栏.设置图标颜色("#1E1F22");

设置文本颜色(颜色)

设置文本颜色

  • 参数 : 颜色 {数字} 文本颜色值
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置文本颜色
轨道栏.设置文本颜色($颜色.红色);

设置文本颜色(颜色)

设置文本颜色

  • 参数 : 颜色 {字符串} 颜色字符串
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置文本颜色
轨道栏.设置文本颜色("#1E1F22");

设置选中颜色(颜色)

设置选中颜色

  • 参数 : 颜色 {数字} 文本颜色值
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置选中颜色
轨道栏.设置选中颜色($颜色.红色);

设置选中颜色(颜色)

设置选中颜色

  • 参数 : 颜色 {字符串} 颜色字符串
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//设置选中颜色
轨道栏.设置选中颜色("#1E1F22");

选中(索引)

选中指定菜单

  • 参数 : 索引 {int} 菜单索引
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//选中指定菜单
轨道栏.选中(0);

菜单(回调)

监听菜单事件

  • 参数 : 回调 {(标题)=>{}} 菜单点击事件
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 轨道栏 = 界面.找控件("我的轨道栏");
//监听菜单事件
轨道栏.菜单((标题)=>{
    土司(标题);
});