使用Android Studio开发Android应用简单、方便,除了创建Android项目,开发者只需要做两件事情:使用activity_main.xml文件定义用户界面:打开Java源代码编写业务实现。但对于一个喜欢刨根问底的学习者来说,这样的开发方式不免让人迷惑:
findViewById(R.id.show)代码中的R.id.show是什么,从哪里来?
为何setContentView(R.layout.activitty_main)代码设置使用activity_main.xml文件定义的界面布局?
所以就有了这篇Android项目组织结构探究
Android项目管理结构
manifests:全局文件
java:相应的Java文件
res:资源文件
而在资源文件res中
drawable:可绘制的,用于存放图片资源
layout:指布局,用于存放Android布局文件,也就是控制页面显示什么的
mipmap:指纹理,用于设置图片
dpi:指分辨率,也就是单位长度里像素点的数量
其中的hdpi,mdpi,xdpi的指的是诸如长度深度一类的不同方向的分辨率
values下保存相应的颜色,字符串等资源
ui管理
View类位于Android.view包中,而View类的子类,例如TextView一般位于android.widget中
Android中的View常用属性有:
android:id属性, id唯一标识一个组件
android:background 一般是设计背景图片或背景颜色
android:padding 设置内容的内边距
paddingBottom 下边距
paddingLeft 左边距
paddingRight 右边距
paddingTop 上边距
paddingStart 左边距
paddingEnd 右边距
ViewGroup
ViewGroup是View类的子类,ViewGroup作为是View的容器,控制View摆放
ViewGroup控制其子组件分布时依赖两个类
(1)ViewGroup.LayoutParams类
(2)ViewGroup.MarginLayoutParams类
其中在ViewGroup.LayoutParams类中,主要设置高度和宽度。可以填写精确的数值,也可以是match_parent(与父容器相同)或wrap_content(包裹内容)
其中在ViewGroup.MarginLayoutParams类中,主要设置组件的外边距
android:layout_marginTop:设置组件的外上边距
android:layout_marginBottom:设置组件的外下边距
android:layout_marginLeft:设置组件的左外边距android:layout_marginStart:也是设置组件的左外边距,但必须是SDK最低版本必须大于API17.
android:layout_marginRight:设置组件的右外边距android:layout_marginEnd:也是设置组件的右外边距,但必须是SDK最低版本必须大于API17.
UI控制
控制UI界面的四种方式
(1)使用XML布局文件控制UI界面
(2)在JAVA代码中控制UI界面
(3)使用XML和JAVA代码混合控制UI界面
(4)开发自定义的View
使用XML控制UI界面
1.首先在res下的layout目录下,编写.xml文件,
2.在Activity中使用setContentView(R.layout.activity_main);来显示XML中布局的内容