android标题栏添加按钮_从0系统学Android-2.1Activity的使用

更多精品文章分类

a5cb9673ff6dac81b397abdb862a574f.png
7d14facae2965994ef727d1b7941aca0.png

第二章:先从看的到的入手—Activity

上一章成功创建了自己的第一个项目。这一章从页面入手,来进行学习。

2.1 Activity 是什么

Activity 是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用可以有零个或者多个 Activity。

2.2 Activity 的基本用法

自己手动创建一个没有 Activity 的新项目

2.2.1 手动创建 Activity

项目创建成功后,看到如下目录

144416bb6911d2b50cc2bf2ce3216dda.png

初始化项目.png

自己手动创建一个 Activity

右击 包名com.example.firstcode —>New—>Activity—>Empty Activity

这个时候会弹出一个对话框,然后不要选择 Generate LayoutFile 和Launcher Activity,然后点击 Finish

50cac6f8a253c6298d9fd4d707e32214.png

创建Activity.png

如果勾选了 Generate Layout File 后会自动给我们的 Activity 创建一个 Layout 布局,勾选了 Launcher Activity 后表示自动将当前 Activity 设置为主 Activity。这些内容留给我们后面自己实现。

好了现在我们自己创建了一个 Activity 了,任何 Activity 都要重写 onCreate 方法。

public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle saveInstanceState){ super.onCreate(savedInstanceState); }}

可以看到刚刚生成的 Activity 的代码内容很简单,在 onCreate方法中就是调用了父类的 onCreate 方法,这是默认的实现方式,后面很多的代码还需要我们自己来慢慢填满!

2.2.2 创建和加载布局

Android 的程序设计是讲究逻辑和视图分离的,最好要做到每个 Activity 都对应一个布局,布局是专门用来显示界面内容的。下面我们就来创建一个布局。

右击 app/src/main/res 目录——>New----->Directory,会弹出一个

新建目录的窗口,先创建一个 layout 的目录。然后对 layout 目录右键—>New-->Layout resource fie,这个时候就会弹出新建布局资源文件的窗口。

c5813894d58a2e2905c82c53a5e9841a.png

first_layout.png

这里我们这样取名fist_layout Root element 选择 LinearLayout 然后点击 OK

66103d67b7f7bd452d234b0ca9fae60d.png

布局编辑器.png

看到图中的布局编辑器,这是 Android Studio 为我们提供的可视化布局编辑器,在这里我们可以浏览我们布局的样子。在窗口下方有两个切换卡,左边是 Design 右边是 Text 。Design 是可视化布局编辑器,这这里可以预览布局,也可以通过拖拽编辑布局。Text 是通过 xml 来编辑布局。下面切换到 Text 模式。

777d8a8a53ef3ed2d2c68d574350792e.png

布局编辑器_text.png

左边就是我们的布局代码部分,我们刚刚创建的时候选择了 LinearLayout 布局作为根布局,所以这里就是LinearLayout 。 下面对布局添加一个按钮。

<?xml version="1.0" encoding="utf-8"?>

简单介绍一下 Button 里面的几个属性:

  • android:id 是给当前元素定义个唯一标识符,以便之后可以对这个元素在代码中进行操作。在 xml 中定义一个 id 的格式是:android:id=@+id/id_name 引用的格式@id/id_name
  • Android:layout_width 指定当前元素的宽度。match_parent表示让当前元素和父元素一样宽。
  • android:layout_height 指定当前元素高度。wrap_content 表示高度刚好可以包裹元素内容。
  • android:text 指定了元素的显示内容。

关于布局的编写详细内容,会在下一章内容重点讲解。

10983cde6ba1c257c9679d36707fc3f7.png

预览当前布局.png

预览一下这个布局,有可能你的和我的不太一样,没关系只要你的按钮显示出来就可以了。不一样的原因是我们的样式选择不一样。你可以看到上面有个 Light 这个是用来选择样式的,还有 小眼睛的标志 也有可能导致我们的预览效果看上去不一样。(这些东西在初学阶段不用去纠结)

布局已经加载出来了,下面我们要做的就是让 Activity 去加载这个布局。

回到 MainActivity 在 onCreate 方法中添加:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 用于给当前 Activity 加载一个布局 setContentView(R.layout.first_layout); }

我们在 onCreate 方法中添加了 setContentView() 方法来加载一个布局,需要传入一个布局的 id。Android 项目中任何的资源(res)包中的东西都会在 R 文件中生成一个对应资源的 id 因此我们可以通过 id 就可以将我们刚刚创建的布局加载到 Activity 中 了。

2.2.3 在 AndroidManifest 文件注册

任何 Activity 都需要在 AndroidManifest.xml 中注册才可以使用。实际上我们的 MainActivity 已经在 AndroidManifest 中注册了。

<?xml version="1.0" encoding="utf-8"?>

这是我们在创建 Activity 的时候,开发工具 Android Studio 自动给我们注册的。

注册方式:在 标签内容,通过 标签来注册。

介绍一下 中的属性,通过 android:name 来指明是哪一个 Activity。仅仅这样注册是不行的,因为没有给程序配置一个主 Activity,这样程序在运行的时候就不知道首先启动哪一个 Activity。

配置主 Activity 的方式:

在 activity 标签内添加 标签。如

这样就会指定当前 Activity 为主 Activity。

除此之外,使用 android:label 属性来指定 Activity 的标题栏中的内容,标题栏是显示在 Activity 最顶部的(当然可以去掉)。注意:给主 Activity 设置 label 后,启动器中应用程序显示的名称也会是这个。

如果没有指定主 Activity 的话,程序是无法运行的。

9460680e7f60ad5743fe3c28f12ce3e5.png

没有主Activity.png

好了,经过上面的步骤后,我们就可以运行程序了。

7827d8d38f50468203acc4f99178b69d.png

首次运行.png

在页面最上面就是一个标题栏(如果你没有那是样式不一样,暂时忽略)。标题栏下面就是布局文件first_layout 编写的界面。

好了,现在我们已经掌握了如何创建一个 Activity 了下面继续学习我们在 Activity 中还可以做些什么!

2.2.4 在 Activity 中使用 Toast

Toast 是 Android 系统中一种非常好的提醒方式,可以将一些短小的信息通知给用户,这些信息一段时间后会自动消失,并且不会占用任何屏幕空间。

要想使用 Toast ,首先我们需要有一个触发事件。我们就设置点击按钮的时候弹出 Toast 吧。在 onCreate 中添加代码:

Button bt = findViewById(R.id.bt);bt.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ Toast.makeText(MainActivity.this,"显示内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值