When the read-only option is enabled the field will be visible but the data collector or user editing/creating the records will not be able to enter anything into that field. 

This can be helpful if you wish to seed your apps with record data and allow the users to see the data but not edit this data.

While not typically done, if you make a field read-only and required the read-only logic will override the required logica and allow the user to fully save the record since the user has no way of entering data into these fields.

Did this answer your question?