心得体会
- 今天第一天学习Android,发现demo要变的更有趣了。但是挺难过的,我的手机无法连接电脑,电脑如果下载模拟器会很卡,所以我做不出demo的效果,感觉挺空的!!!
目录
-
1.Android程序目录介绍
-
2.Activity生命周期
-
3.页面布局的两种方式(1.XML配置, 2.使用Java代码创建)
-
4.更改主题样式和启动配置
具体内容
1.Android程序目录介绍
image.png2.Activity生命周期
活动代表了一个具有用户界面的单一屏幕,如 Java 的窗口或者帧。Android 的活动是 ContextThemeWrapper 类的子类。如果你曾经用 C,C++ 或者 Java 语言编程,你应该知道这些程序从 main() 函数开始。很类似的,Android 系统初始化它的程序是通过活动中的 onCreate() 回调的调用开始的。存在有一序列的回调方法来启动一个活动,同时有一序列的方法来关闭活动,如下面的活动声明周期图所示:
image.png
Activity 类定义了下面的回调。你可以不用实现所有的回调方法。但了解其中的每一个非常的重要,实现这些可以保证你的应用行为如用户所期望的那样。
回调 | 描述 |
---|---|
配置界面onCreate()
|
这是第一个回调,在活动第一次创建时调用 |
启动界面onStart()
|
这个回调在活动为用户可见时被调用 |
重新启动onRestart()
|
当活动被停止以后重新打开时调用 |
唤醒界面onResume()
|
这个回调在应用程序与用户开始可交互的时候调用 |
暂停界面onPause()
|
被暂停的活动无法接受用户输入,不能执行任何代码。当当前活动将要被暂停,上一个活动将要被恢复时调用 |
销毁界面onDestroy()
|
当活动被系统销毁之前调用 |
管理界面从创建到运行结束的过程中,不同的操作会需要不同的回调方法:
操作 | 必须使用的回调方法(从左至右按顺序使用) |
---|---|
界面启动 | onCreate() 、onStart()、 onResume() |
点击home键 回到主界面 | onPause() |
通过后台重新运行这个程序 | onRestart()、 onStart()、onResume() |
使用返回键 返回到主界面 | onPause()、 onDestroy() |
例:
public class MainActivity extends AppCompatActivity {
@Override//创建一个界面 界面如何布局
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("onCreate");
}
@Override//界面启动 展现出来了
protected void onStart() {
super.onStart();
System.out.println("onStart");
}
@Override//重新启动一个界面
protected void onRestart() {
super.onRestart();
System.out.println("onRestart");
}
@Override//恢复界面 后台-》前台
protected void onResume() {
super.onResume();
System.out.println("onResume");
}
@Override//界面切换
protected void onPause() {
super.onPause();
System.out.println("onPause");
}
@Override//界面销毁
protected void onDestroy() {
super.onDestroy();
System.out.println("onDestroy");
}
}
3.页面布局的两种方式(1.XML配置, 2.使用Java代码创建)
-
1.页面布局的方式之一-----XML配置
每一个 Android 项目都包含一个清单(Manifest)文件 AndroidManifest.xml,它是 XML 格式的 Android 程序声明文件,每个 Android 程序必须在根目录下包含一个 AndroidManifest.xml。
默认一个Activity对应一个XML文件,命名特点:activity_界面功能.xml,XML文件就是一个容器:可以放很多UI控件。
image.png
双击打开activity.xml就可以对xml文件进行编辑,打开之后在Design里面是这样的:最左侧是一些控件,右边是布局显示,我们可以通过拖拽控件进行设计布局
image.png
会发现这是可视化的,你编辑的布局可以在这里进行显示,在.xml的Test中就可以进行编辑了:
image.png
xml添加控件
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/c">
Android中控件的尺寸
1.match_parent
和父视图一样大
2.wrap_content
插入内容的原始尺寸
3.具体尺寸 20dp
<ImageView
android:id="@+id/iv_foreground"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/iv_foreground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/iv_foreground"
android:layout_width="20dp"
android:layout_height="20dp"
>
父视图:设备显示屏大小
子视图:插入的图片原始大小
- 将一个控件添加到一个容器中,控件就是这个容器的子视图,容器是控件的父视图
-
页面布局的方式之二-----使用Java代码创建
通过添加id号可以唯一标识某一个控件 或组件(容器)
android:id="@+id/fl_main"
//通过代码来布局界面
//1.找一个容器 xxlayout
FrameLayout container=new FrameLayout(this);
//2.设置当前界面的内容视图为这个容器
setContentView(container);
//3.创建一个子视图
//创建ImageView显示 图片
ImageView bgImageView=new ImageView(this);
//设置属性
bgImageView.setBackgroundColor(Color.GREEN);
//添加到容器里面
container.addView(bgImageView,200,200);
//2.设置当前界面的内容视图为这个容器
setContentView(container);
什么时候需要用代码创建 什么时候使用xml配置?
- 如果添加的控件是静态的 (变化的东西不多)选择xml
- 如果需要灵活地操作这个控件 选择代码创建
4.更改主题样式、启动配置
-
更改主题样式
程序或者某个 UI模块都可以有自己的样式styles
例如:
可以在values.styles.xml里面将
<style name="AppTheme" parent="Theme.AppCompat.Light.ActionBar">
中的ActionBar去掉,改为
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
-
启动配置
在manifests里面的AndroidManifests里面可以启动配置
网友评论