Android学习中遇到的“傻白甜式”问题(一)

Android学习中遇到的问题

1.混淆android:padding与android:layout_margin的作用
(1)android:padding:
用来标示内部文字与view 的间距,如图所示:
Android学习中遇到的“傻白甜式”问题(一)
(2)android:layout_margin:
是用来标示view 与父layout的间距,如图所示:
Android学习中遇到的“傻白甜式”问题(一)
特别地,android:layout_margin出现之后android:layout_marginLeft等标签都将失效。
例如:android:layout_margin=“15dp”
android:layout_marginRight=“15dp”
android:layout_marginLeft=“15dp”
下面两行无意义,即没有任何样式的变化。

2.混淆android:layout_gravity和android:gravity的作用
(1)android:gravity:
针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,
android:gravity="right"和android:text=“提交”,这时Button上的文字“提交”将会位于Button的右部,如图所示。
Android学习中遇到的“傻白甜式”问题(一)
(2)android:layout_gravity:
针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。同样,当我们在Button按钮控件中设置android:layout_gravity="right"属性时,表示该Button按钮将位于界面的右部,如图所示。
Android学习中遇到的“傻白甜式”问题(一)
3.网格布局中指定某控件显示在固定的行或列
设置该子控件的android:layout_row和android:layout_column属性即可,但是需要注意的是:android:layout_row=“0”表示从第一行开始,android:layout_column=“0”表示从第一列开始,与编程语言中一维数组的赋值情况类似。
4.网格布局中设置某控件跨越多行或多列
将该子控件的android:layout_rowSpan或者layout_columnSpan属性设置为数值(表明该控件跨越的行数或列数),再设置其layout_gravity属性为fill(表明该控件填满所跨越的整行或整列)即可。
5.EditText的常见属性
(1)输入特定个数的字符
通过android:maxLength属性来设置最大输入字符个数,比如android:maxLength=“4”表示最多能输入4个字符,再多则输不进去
(2)空白提示文字
通过android:hint来设置当EditText内容为空时显示的文本,即只在EditText为空时显示,当输入字符的时候就消失了,不影响EditText的文本。
Android学习中遇到的“傻白甜式”问题(一)
(3)空白提示文字的颜色
通过android:textColorHint属性设置所需的颜色
(4)设置EditText的不可编辑
设置android:enabled="false"可以实现不可编辑,可以获得焦点。此时EditText和TextView类似