To leverage the native date picker on iOS and android, you need to conditionally render either the af:inputDate component or the af:inputText component with usage property set to ‘date’. Here is a code snippet that implements this approach.
<af:inputDate value="#{bindings.HireDate.inputValue}" label="#{bindings.HireDate.hints.label}"
required="#{bindings.HireDate.hints.mandatory}" columns="#{bindings.HireDate.hints.displayWidth}"
shortDesc="#{bindings.HireDate.hints.tooltip}" rendered="#{!agentInfo.touchScreen}" id="id1">
<f:validator binding="#{bindings.HireDate.validator}"/>
<af:convertDateTime pattern="#{bindings.HireDate.format}"/>
</af:inputDate>
<af:inputText label="#{bindings.HireDate.hints.label}" required="#{bindings.HireDate.hints.mandatory}"
value="#{bindings.HireDate.inputValue}" usage="#{'date'}" rendered="#{agentInfo.touchScreen}" id="it9">
<f:validator binding="#{bindings.HireDate.validator}"/>
<af:convertDateTime pattern="yyyy-MM-dd" id="cdt22" type="date"/>
</af:inputText>