Android开发创建表单界面应选用哪种布局?
安卓表单布局实现方案
优先推荐使用 ConstraintLayout 实现,这是谷歌官方当前主推的布局方案,能完美解决你提到的所有问题,且不需要多层嵌套,渲染性能优于传统布局:
- 解决输入框前加图标的需求:不需要嵌套布局,直接给EditText设置
drawableStart属性即可内置左侧图标,通过drawablePadding调整图标和输入文字的间距即可;如果需要更灵活的图标样式/位置,直接在ConstraintLayout中添加ImageView,将其结束边约束到EditText的起始边即可,无额外嵌套层级。 - 解决输入框对齐问题:将所有输入框的起始边统一约束到父布局的同一基准位置(比如父布局起始边偏移16dp),即可实现所有输入框左对齐,上下间距通过约束相邻控件的上下边即可精准控制。
- 解决同排放两个输入框的需求:比如区号和手机号场景,将区号输入框的起始边约束到父布局起始边,结束边约束到手机号输入框的起始边,再给两个控件设置
layout_constraintHorizontal_weight按需求分配宽度占比,即可实现并排填充满一行的效果,调整起来比GridLayout更灵活。
如果只能从你提到的三种布局中选择,优先选GridLayout:
- 同排放两个控件的实现:设置GridLayout总列数为2,需要占满整行的输入框(比如姓名、地址栏)添加
layout_columnSpan="2"属性设置跨两列即可。 - 输入框前的图标同样可以通过EditText的
drawableStart属性实现,不需要额外嵌套布局,所有列统一设置对齐规则即可保证输入框对齐。
内容的提问来源于stack exchange,提问作者user650708
相关产品推荐
相关产品推荐

