控件父类

  • 更新时间:2025-12-02 10:12:48

控件父类-XView

在应用中所有的控件或者布局都是这个类{XView}的子类,因此,这个类中的所有方法,所有的子类都能调用,故称为:公共方法。

在代码示例中,多数情况下,我都是使用{XButton}按钮控件来进行演示的,其实任何控件都可以。

获取视图()

获取名称()

解析颜色(color)

dp(dp)

将dp转换成对用的px

  • 参数 : dp {float} dp长度

  • 返回 : {float} px长度

dp转px(dp)

设置背景图片(路径)

设置背景图片

  • 参数 : 路径 {string} 图片路径

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置背景图片
按钮.设置背景图片("./资源/背景.png");

显示提示条(信息)

显示提示条

  • 参数 : 信息 {string} 信息内容

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//显示信息条
按钮.显示提示条("我是信息");

显示提示条(信息, 标题, 回调函数)

显示提示条

  • 参数 : 信息 {string} 信息内容

  • 参数 : 标题 {string} 按钮标题

  • 参数 : 回调函数 {(视图)=>{}} 点击事件回调

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//显示信息条
按钮.显示提示条("我是信息","确定",(视图)=>{
    //点击确定触发的事件
    $界面.土司("点击了确定");
});

点击事件(回调函数)

设置点击事件

  • 参数 : 回调函数 {(视图)=>{}} 点击事件

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置点击事件
按钮.点击事件((视图)=>{
    //点击事件
    $界面.土司("我被点击了");
});

长按事件(回调函数)

设置长按事件

  • 参数 : 回调函数 {(视图)=>{}} 长按事件

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置长按事件
按钮.长按事件((视图)=>{
    //长按事件
    $界面.土司("我被长按了");
});

显示菜单(选项, 回调函数)

显示选项菜单

  • 参数 : 选项 {string[]} 选项列表

  • 参数 : 回调函数 {(标题)=>{}} 回调函数

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//显示选项菜单
按钮.显示菜单(["选项1","选项2","选项3"],(标题)=>{
    $界面.土司("点击了选项:"+标题);
});

显示菜单(选项, 重力, 回调函数)

显示选项菜单

  • 参数 : 选项 {string[]} 选项列表

  • 参数 : 重力 {string} 重力参数

  • 参数 : 回调函数 {(标题)=>{}} 回调函数

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//显示选项菜单
按钮.显示菜单(["选项1","选项2","选项3"],"start|center",(标题)=>{
    $界面.土司("点击了选项:"+标题);
});

启用控件(启用)

是否启用控件

  • 参数 : 启用 {boolean} true:启用,false:禁用

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//禁用控件
按钮.启用控件(false);

是否可用()

判断可用

  • 返回 : {boolean} true:启用,false:禁用

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//是否可用
定义 是否可用 = 按钮.是否可用();
如果(是否可用){
    $界面.土司("可用");
}

设置可见性(可见性)

设置可见性

  • 参数 : 可见性 (使用界面常量,例如:界面.隐藏)

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置成不可见
按钮.设置可见性($界面.隐藏);
//设置成可见
//按钮.设置可见性($界面.显示);

获得可见性()

获得可见性

  • 返回 : {int} (使用界面常量,例如:界面.隐藏)

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//获得可见性的值
定义 可见性 = 按钮.获得可见性();
如果(可见性==$界面.显示){
    $界面.土司("可见");
}

设置可聚焦(可聚焦)

设置可聚焦

  • 参数 : 可聚焦 {boolean} true:控件可获得焦点,false:控件不可获得焦点

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置控件是否可聚焦
按钮.设置可聚焦(true);

设置可点击(可点击)

设置可点击

  • 参数 : 可点击 {boolean} true:控件可被点击,false:控件不可被点击

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置控件是否可点击
按钮.设置可点击(true);

设置透明度(透明度)

设置透明度

  • 参数 : 透明度 {float} 0.5:控件半透明,1:控件不透明

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置透明度
按钮.设置透明度(0.5);

获得透明度()

获得透明度

  • 返回 : {float} 控件透明度值

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//获得透明度
定义 透明度 = 按钮.获得透明度();

设置立体值(立体值)

设置立体值

可以让控件看起来更加立体

  • 参数 : 立体值 {int} 立体值

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置立体值
按钮.设置立体值(10);

获得x()

获取x值 获取相对于父控件的x值

  • 返回 : {float} x值

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//获取x值
定义 x = 按钮.获得x();

设置x(x)

设置x值 设置在父控件中x的值

  • 参数 : x {float} x值

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置x值
按钮.设置x(10);

获得y()

获取y值 获取相对于父控件的y值

  • 返回 : {float} y值

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//获取y值
定义 y = 按钮.获得y();

设置y(y)

设置y值 设置在父控件中y的值

  • 参数 : y {float} y值

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//设置y值
按钮.设置y(10);

获得宽度()

获得控件宽度

  • 返回 : {int} 宽度

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//获得控件宽度
定义 宽度 = 按钮.获得宽度();

获得高度()

获得控件高度

  • 返回 : {int} 高度

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//获得控件高度
定义 高度 = 按钮.获得高度();

触摸事件(回调函数)

处理触摸事件

  • 参数 : 回调函数 {(触摸事件,视图)=>{return false;}} 触摸回调

//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./资源/主界面.xml");
//拿到控件
定义 按钮 = 界面.找控件("我的按钮");
//处理触摸事件
按钮.触摸事件((事件,视图)=>{
    //处理触摸事件
    返回 true;
});