普通组件开发指导

    图 1 普通组件树结构

    UIView为基础类,UIAbstractProgress、UIArcLabel(旋转字体)、UIButton(按键)、UICanvas(画布)、UILabel(字体)、UIImageView(图片)从UIView继承。UIBoxProgress、UICircleProgress从UIAbstractProgress继承,UILabelButton和UIRepeatButton从UIButton继承,UIImageAnimatorView和UITextureMapper从UIImageView继承。

    使用场景

    UIButton组件,提供可点击功能,同时可设置不同状态下样式。

    接口说明

    表 1 button接口说明

    开发步骤

    1. 实现点击事件。

    2. 创建一个UIButton。

      1. button->SetPosition(50, 50);
      2. button->SetWidth(100);
      3. button->SetHeight(50);
    3. 给UIButton注册点击事件回调。

      1. button->SetOnClickListener(new TestBtnOnClickListener());
    4. 检查Button点击效果如下图所示,Button逐渐变大。

      图 2 UIButton点击效果
      普通组件开发指导 - 图1

    UIImageView

    使用场景

    图片组件,提供图片显示,透明度设置,图片旋转、缩放功能。支持的图片格式为RGB565、RGB888、RGBA8888、PNG、JPG。

    表 2 image接口说明

    开发步骤(自适应)

    1. 创建一个UIImageView。

      1. UIImageView* imageView = new UIImageView();
      2. imageView->SetPosition(0, 30);
    2. 设置二进制格式的图片。

      1. imageView->SetSrc("..\\config\\images\\A021_001.bin");

    开发步骤(平铺模式)

    1. 创建一个UIImageView。

      1. UIImageView* imageView = new UIImageView();
      2. imageView->SetPosition(0, 30);
    2. 设置图片。

      1. imageView->SetSrc("..\\config\\images\\A021_001.bin");
    3. 取消图片自适应,设置图片大小,平铺显示效果。

      1. imageView->SetAutoEnable(false);
      2. imageView->Resize(454, 150);
    4. 检查UIImageView控件显示为平铺效果。

      图 4 平铺模式图片效果图

    UILabel

    使用场景

    标签(label)是在一块区域上显示文本字符串的组件,可设置区域背景色、文字的显示样式和长文本的显示效果等。

    接口说明

    表 3 label接口说明

    1. 创建label,设置大小和位置信息。

    2. 设置字形信息。

      1. label->SetFont("SourceHanSansSC-Regular.otf", 30);
    3. 设置文本数据。

      1. label->SetText("label");
    4. 检查label大小和显示效果正常,如下图所示。

      普通组件开发指导 - 图2

    开发步骤(背景色和透明度)

    1. 创建label,设置大小和位置信息。

      1. label->SetPosition(x, y);
      2. label->Resize(width, height);
    2. 设置字形信息。

      1. label->SetFont("SourceHanSansSC-Regular.otf", 30);
    3. 设置背景颜色及透明度效果。

      1. label->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);
      2. label->SetStyle(STYLE_BACKGROUND_OPA, 127);
      3. label->SetText("Label");
    4. 检查label背景色为Gray,如下图所示。

    开发步骤(字符间距)

    1. 创建label,设置大小和位置信息。

      1. UILabel* label = new UILabel();
      2. label->SetPosition(x, y);
      3. label->Resize(width, height);
    2. 设置字形信息。

      1. label->SetFont("SourceHanSansSC-Regular.otf", 30);
    3. 检查label字符间距为5,如下图所示。

      普通组件开发指导 - 图3

    开发步骤(大小自适应)

    当文本过长时,可根据文本信息自动调整label组件大小,也可以设置文本截断或者文本滚动效果。

    1. 创建label,设置大小和位置信息。

      1. UILabel* label = new UILabel();
      2. label->SetPosition(x, y);
      3. label->Resize(width, height);
    2. 设置字形信息。

      1. label->SetFont("SourceHanSansSC-Regular.otf", 30);
    3. 设置字体颜色为Gray,组件大小自适应文本内容。

      1. label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
      2. label->SetText("123\n567890");
    4. 检查label大小自适应文本内容,如下图所示。

    开发步骤(省略号模式)

    省略号模式指文本内容显示不下时,在末尾显示省略号。

    1. 创建label,设置大小和位置信息。

      1. UILabel* label = new UILabel();
      2. label->SetPosition(x, y);
      3. label->Resize(width, height);
    2. 设置字形信息。

      1. label->SetFont("SourceHanSansSC-Regular.otf", 30);
    3. 设置换行模式为DOT模式

      1. label->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);
      2. label->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
      3. label->SetText("123567890");
    4. 检查label DOT模式效果,如下图所示,末尾显示省略号。

      普通组件开发指导 - 图4

    开发步骤(滚动模式)

    文本滚动显示。

    1. 创建label,设置大小和位置信息。

      1. UILabel* label = new UILabel();
      2. label->SetPosition(x, y);
      3. label->Resize(width, height);
    2. 设置字形信息。

    3. 设置换行模式为滚动模式

      1. label->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);
      2. label->SetStyle(STYLE_BACKGROUND_OPA, 127);
    4. .gif)