title: 配置块 - 自定义活动布局
Configure Blockly — Customize the Activity Layout
自定义活动布局
默认情况下,AbstractBlocklyActivity
用一个大工作区填充屏幕。此工作空间由BlocklyUnifiedWorkspace
(一个将工作区,工具箱和回收站组合在一起的ViewGroup)定义。

此视图通过onCreateContentView
加载到activity中:
protected View onCreateContentView(int containerId) {
return getLayoutInflater().inflate(R.layout.blockly_unified_workspace, null);
}
应用程序可以重载此方法以使用自己的视图。有两个例子可以在SplitActivity
和TurtleActivity
中找到:
@Override
protected View onCreateContentView(int parentId) {
View root = getLayoutInflater().inflate(R.layout.split_content, null);
mGeneratedTextView = (TextView) root.findViewById(R.id.generated_code);
return root;
}
在这两种情况下,修订的内容布局只包括执行环境或代码视图旁边的blockly_unified_workspace.xml
:
<include layout="@layout/blockly_unified_workspace" />
直接包含片段
虽然BlocklyUnifiedWorkspace
使得在Blockly工作空间旁边添加一些额外的UI变得容易,但是通过直接包括三个Blockly片段可以实现更高级的布局。AbstractBlocklyActivity
将查找以下片段ID:
-
blockly_workspace
:定义主工作区域的WorkspaceFragment
。 -
blockly_toolbox:
ToolboxFragment
,用户可以从中拖动新的块到工作区。虽然技术上是可选的,但这是向工作区添加块的最常见方法。 -
blockly_trash
:TrashFragment
列出所有最近删除的块。
活动可以覆盖onCreateContentView来构建或加载任何布局,这些片段放置在应用程序的任何位置。但是,在外部拖动块不受支持和不推荐开发(under active development)。
有关片段配置选项/ XML布局属性的详细信息,请检查上述每个片段的JavcDoc文档。
有关示例,请参见blockly_unified_workspace_contents.xml
。
控制按钮
除了片段,除了片段,AbstractBlocklyActivity寻找四个视图id用作按钮。寻找四个视图id用作按钮。
- blockly_zoom_in_button:放大(放大)工作区视图。
- blockly_zoom_out_button:缩小(缩小)工作空间视图。
- blockly_center_view_button:重置工作空间视图。
- blockly_trash_icon:打开或关闭垃圾桶列表(如果存在并可关闭)。它也充当删除块的放置目标。
在BlocklyUnifiedWorkspace
中,这些按钮堆叠在工作空间的右侧(或从右到左语言的左侧)。

网友评论