【HarmonyOS闯关习题】——从简单的页面开始
一、判断题1. Button作为容器使用时可以通过添加子组件实现包含文字、图片等元素的按钮其类型包括胶囊按钮、圆形按钮、普通按钮、圆角矩形按钮。答案正确 (True)解析Button 组件支持容器模式可通过子组件嵌入 Image 等元素其type属性确实包含Normal普通、Capsule胶囊、Circle圆形和RoundRect圆角矩形等样式。2. Resource是资源引用类型用于设置组件属性的值可以定义组件的颜色、文本大小、组件大小等属性。答案正确 (True)解析Resource类型通过$r()引用resources目录下的颜色、尺寸、字符串等资源常用于动态适配不同屏幕或语言环境。3. 在Column容器中的子组件默认是按照从上到下的垂直方向布局的其主轴的方向是垂直方向在Row容器中的组件默认是按照从左到右的水平方向布局的其主轴的方向是水平方向。答案正确 (True)解析Column 主轴为垂直方向默认从上到下排列Row 主轴为水平方向默认从左到右排列在默认 LTR 语言环境下。二、单选题1. 关于ForEach循环渲染的描述错误的是A. arr数据源为Array类型的数组。B. itemGenerator为子组件生成函数为数组中的每个元素创建对应的组件。C. keyGenerator为数组项唯一键值生成函数为数据源arr的每个数组项生成唯一且持久的键值函数返回值为开发者自定义的键值生成规则。D. ForEach基于数组类型数据来进行循环渲染需要与容器组件配合使用且可以返回任意子组件。答案D解析ForEach 是 ArkUI 提供的循环渲染控制语句并不是一个组件它必须遵循特定的语法结构如放在构建函数中且生成子组件时不能脱离容器上下文随意“返回任意子组件”。ForEach接口基于数组类型数据来进行循环渲染需要与容器组件配合使用且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。2. Image不支持哪种图片格式A. svgB. epsC. gifD. bmp答案B解析Image 组件原生支持常见的 SVG、GIF、BMP、PNG 和 JPG 等格式不支持 EPS 格式EPS 通常用于矢量绘图软件不适用于移动端直接渲染。3. 下面哪个组件层次结构是错误的A. ListListItemColumnB. ColumnListListItemC. GridRowGridItemD. GridGridItem答案C解析Grid 网格布局的直接子组件必须是GridItem不允许直接将Row或Column作为 Grid 的子级。正确的写法应为GridGridItemRow。4. 需要在主轴上使第一个元素到行首的距离和最后一个元素到行尾的距离是相邻元素之间距离的一半通过下列哪种方式设置A. justifyContent(FlexAlign.SpaceBetween)B. justifyContent(FlexAlign.SpaceAround)C. justifyContent(FlexAlign.SpaceEvenly)D. justifyContent(FlexAlign.Center)答案B解析SpaceAround会将元素均匀分布在主轴空间内第一个元素到行首、最后一个元素到行尾的距离正好是相邻元素间距的一半。SpaceBetween首尾无间距SpaceEvenly所有间距相等。三、多选题1. 关于ImageFit的类型和说明正确的是A. Contain保持宽高比进行缩小或者放大使得图片完全显示在显示边界内。B. None保持原有尺寸显示。C. Fill不保持宽高比进行放大缩小使得图片充满显示边界。D. Scale保持宽高比显示图片缩小或者保持不变。E. Cover保持宽高比进行缩小或者放大使得图片两边都大于或等于显示边界。答案A、B、C、E解析ImageFit 枚举有效值包括Contain、Cover、Fill、None、ScaleDown保持宽高比缩小不放大。D 选项中的Scale并非有效类型正确名称为ScaleDown故不选。2. Row容器的主轴是水平方向交叉轴是垂直方向其参数类型为VerticalAlign 垂直对齐VerticalAlign 定义了以下几种类型A. TopB. BottomC. StartD. EndE. Center答案A、B、E解析Row 的交叉轴垂直方向对齐属性VerticalAlign取值为Top、Center、Bottom。Start和End是主轴水平方向的对齐值属于HorizontalAlign或FlexAlign的范畴。3. TextDecorationType不包含哪几种类型A. NoneB. LineThroughC. TopLineD. Bottomline答案C、D解析TextDecorationType 枚举包含None无、Overline上划线、LineThrough删除线和Underline下划线。TopLine和Bottomline并不属于该枚举类型故选择 C、D。