Notice one additional attribute of the annotation, the editorLayout. This is the main layout of the editor which contains each of the sub-elements described above. This can be used
if the app design requires the header to be on the right of the editor or if the validation message should be on top of the core editor for example. The main layout's purpose is
allow custom positioning of the sub elements of each editor.

Finally along with the fine grained options above, one main layout can be specified and reused for every editor. For example:

// Set the same main layout for every editor.
dataForm.setEditorsMainLayout(R.layout.editors_main_layout);
// Set the same header layout for every editor.
dataForm.setEditorsHeaderLayout(R.layout.editors_header_layout);
// Set the same validation layout for every editor.
dataForm.setEditorsValidationLayout(R.layout.editors_validation_layout);

// Set the same main layout for every editor.
dataForm.EditorsMainLayout = Resource.Layout.editors_main_layout;
// Set the same header layout for every editor.
dataForm.EditorsHeaderLayout = Resource.Layout.editors_header_layout;
// Set the same validation layout for every editor.
dataForm.EditorsValidationLayout = Resource.Layout.editors_validation_layout;

To illustrate the main layout and its sub elements consider this image:

Here "Date" is the header. The red highlighted text field is the core editor which is a date picker in this case and finally the red message below is the validation message.
When there is a validation icon specified it will be displayed to the right of the core editor.

Another way to customize the editors is with DataForm's setEditorCustomization method. It allows you to define a procedure that will be applied for each editor and you will get a chance to alter the appearance for the editors that meet a certain requirement. Here's an example: