android小常识

Android项目的结构
-------------------------------
src -> 用于存放Java源代码和其它程序源文件
gen -> 用于存放自动生成的Java文件
assets -> 用于存放自定义的初始文件,例如音频文件等
bin -> 用于存放执行文件,这些文件是运行项目时自动生成的
libs -> 用于存放扩展jar包
res -> 用于存放资源文件,例如各种xml配置文件、素材图片等
res/drawable -> 用于存放素材图片、使用xml配置的图形相关的文件
res/layout -> 用于存放配置界面的xml布局
res/menu -> 用于存放配置选项菜单的xml文件
res/values -> 用于存放配置的值文件,包括字符串资源、度量值资源、颜色资源、样式资源等
AndroidManifest.xml -> 项目清单文件
proguard-project.txt -> 保护
project.properties -> 项目属性,例如配置项目的编译版本



LinearLayout:线性布局
-------------------------------
LinearLayout是一种ViewGroup。
LinearLayout的特征是直接子级控件呈线性排列。
核心属性:
android:orientation -> 【必要】其直接子级控件的排列方式,取值为horizontal时,各子级控件水平(横向)排列,取值为vertical时,各子级控件垂直(纵向)排列。
其它:
使用了线程布局后,其各直接子级控件可以使用以下属性:
android:layout_gravity -> 控件的对齐方式,取值为枚举值
android:layout_weight -> 控件占据剩余宽/高的比例,小结:以水平的线性布局为例,如果各控件的宽度设置为match_parent,则设置的layou_weight值表现为控件宽的反比;如果各控件的宽度设置为0dp,则设置的layout_weight值表现为正比。



RelativeLayout:相对布局
-------------------------------
RelativeLayout是一种ViewGroup。
RelativeLayout的特点是各直接子级控件可以重叠,且默认均显示在左上角位置,各直接子级控件可以使用RelativeLayout或其它同级控件作为参考,以决定自身的位置和尺寸。
核心属性:无
RelativeLayout的直接子级控件的属性:
android:layout_alignTop -> 与另一个同级控件的顶部对齐,取值为另一个同级控件的id
android:layout_alignBottom -> 与另一个同级控件的底部对齐,取值为另一个同级控件的id
android:layout_alignLeft -> 与另一个同级控件的左侧对齐,取值为另一个同级控件的id
android:layout_alignRight -> 与另一个同级控件的右侧对齐,取值为另一个同级控件的id
android:layout_alignParentTop -> 与父级(RelativeLayout)的顶部对齐,取值为true或false
android:layout_alignParentBottom -> 与父级(RelativeLayout)的底部对齐,取值为true或false
android:layout_alignParentLeft -> 与父级(RelativeLayout)的左侧对齐,取值为true或false
android:layout_alignParentRight -> 与父级(RelativeLayout)的右侧对齐,取值为true或false
android:layout_below -> 将自身置于另一个同级控件的下方,取值为另一个同级控件的id
android:layout_above -> 将自身置于另一个同级控件的上方,取值为另一个同级控件的id
android:layout_toLeftOf -> 将自身置于另一个同级控件的左侧,取值为另一个同级控件的id
android:layout_toRightOf -> 将自身置于另一个同级控件的右侧,取值为另一个同级控件的id
android:layout_centerHorizontal -> 在父级(RelativeLayout)中,水平居中,取值为true或false
android:layout_centerVertical -> 在父级(RelativeLayout)中,垂直居中,取值为true或false
android:layout_centerInParent -> 在父级(RelativeLayout)中,水平和垂直均居中,取值为true或false



TextView:文本显示控件
-------------------------------
TextView的作用是显示文本,即显示字符串。
TextView是View的子类。
TextView的核心属性:
android:text -> 设置TextView需要显示的文本,取值为字符串,或@string/???
android:textSize -> 设置文本的尺寸,取值为以sp为单位的数值,例如取值为14sp
android:textColor -> 设置文本的颜色,取值为RGB或ARGB颜色,或@color/???
android:gravity -> 文字在控件内部的对齐方式,取值为left、righ、top、bottom、center中的某1个,或使用|进行分隔取2个值,例如取值为left,或取值为right|bottom
android:singleLine -> 单行显示,即当文本超出了控件的宽度后,是否只显示第1行,取值为true或false
android:background -> (通用属性,即所有控件都可以设置该属性) 背景颜色或背景图片,取值可以是颜色,取值方式参考textColor,取值也可以是图片,例如@drawable/???



EditText:文本输入框控件
-------------------------------
EditText是用于提供给用户输入文本的控件。
EditText是TextView的子类。
EditText的特有属性:
android:hint -> 提示文字,当EditText没有显示任何内容时,将显示该文字,该属性取值为字符串或@string/???。
android:textColorHint -> 提示文字的颜色,取值可参考android:textColor属性
android:inputType -> 指定该EditText可输入的内容的类型,取值为枚举值,例如取值为text、取值为textPassword、取值为number等



Button:按钮控件
-------------------------------
Button是提供给用户点击的控件。
Button是TextView的子类。
Button控件没有必要的核心属性。



RGB与ARGB颜色
-------------------------------
RGB颜色是以#作为前缀,使用6位十六进制数表示的颜色,例如#ffffff表示白色,#000000表示黑色,#ff0000表示红色,#00ff00表示绿色,#0000ff表示蓝色。
ARGB颜色是在RGB颜色的基础上,在最左侧添加了2位十六进制数表示Alpha,即透明度。当Alpha位置取值为00时,表示完全透明,取值为ff时,表示完全不透明。




你可能感兴趣的:(android小常识)