不可不会的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属性 在这里插入图片描述 在这里插入图片描述