不可不会的Activity和Fragment
Activity之前已经接触过了,可以简单的理解为当我们在APP上看到的每一个界面,这每一个界面都需要一个Activity,而Activity并不是界面,只能说一个界面需要一个Activity。Fragment是碎片化的界面,一个Activity可以包含有多个Fragment,Fragment是不能独立存在的,必须依赖Activity受Activity管理的。
Activity的创建三部曲
- 1、新建类继承Activity或其子类
- 2、新创建的Activity在AndroidManifest中声明,不声明是无法使用的,也无法跳转到新建的Activity
- 3、创建layout并在Activity的onCreate中设置 并非所有的创建一定要按照以上三个步骤操作,如果只有第一步也行,第一步Activity就已经存在了,但是这个Activity存在的意义就没有,既不能跳转过去,也不能跳过新建Activity。所以第二步也要存在,第三步可以跳过,不给新建的Activity设置布局,通常情况下是需要设置布局的,也有不设置布局的,可以把新建的Activity作为父类等等。
演示
1、新建Activity,在src/main/java/com/kinginsai/template/android目录下新建TextActivity
2、在AndroidManifest.xml中声明
<activity android:name="com.kinginsai.template.android.TextActivity"/>
3、新建layout布局,在res/layout目录下,命名为activity_text.xml,添加一个TextView组件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="松鼠学苑" />
</RelativeLayout>
4、在Activity中设置布局
package com.kinginsai.template.android;
import android.app.Activity;
import android.os.Bundle;
public class TextActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text);
}
}
5、在activity_main.xml中添加一个button组件,点击按钮之后跳转
<Button
android:id="@+id/btn"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="button" />
6、在主Activity中添加跳转
private Button mbtn;
mbtn = (Button)findViewById(R.id.btn);
mbtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//跳转到TextView演示界面
Intent intent = new Intent(HelloAndroidActivity.this,TextActivity.class);
startActivity(intent);
}
});
7、运行程序
8、程序的上方Android Example是导航栏,要修改在AndroidManifest中添加label属性