Android学习第六天——Activity的简单使用1

1、Activity简要概述

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。
Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。   ————来自百度百科
 

2、创建一个Activity

我们需要再新建一个 Android 项目,项目名可以叫做 ActivityTest
 

创建和加载布局

Android 程序的设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的。
 
布局文件放在 src/res/layou  目录下——>activity_main.xml     
根元素默认为 LinearLayout
 
ADT 为我们提供的可视化布局编辑器,你可以在屏幕的中央区域预览当前的布局。
 
在窗口的最下方有两个切换卡,左边是 Design,右边是 text。Design 是当前的可视化布局编辑器,在这里你不仅可以预览当前的布局,还可以通过拖拽的
方式编辑布局。而 text 则是通过 XML 文件的方式来编辑布局,现在点击一下text切换卡,可以看到如下代码:
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context=".MainActivity">
 8 
 9     <TextView
10         android:id="@+id/textView"
11         android:layout_width="125dp"
12         android:layout_height="40dp"
13         android:layout_marginTop="290dp"
14         android:layout_marginBottom="109dp"
15         android:text="欢迎来到我的第一个程序"
16         app:layout_constraintBottom_toTopOf="@+id/button2"
17         app:layout_constraintHorizontal_bias="0.269"
18         app:layout_constraintLeft_toLeftOf="parent"
19         app:layout_constraintRight_toRightOf="parent"
20         app:layout_constraintTop_toTopOf="parent"
21         app:layout_constraintVertical_bias="0.482" />
22 
23     <Button
24         android:id="@+id/button2"
25         android:layout_width="wrap_content"
26         android:layout_height="wrap_content"
27         android:layout_marginStart="93dp"
28         android:layout_marginLeft="93dp"
29         android:layout_marginEnd="94dp"
30         android:layout_marginRight="94dp"
31         android:layout_marginBottom="154dp"
32         android:text="开始"
33         app:layout_constraintBottom_toBottomOf="parent"
34         app:layout_constraintEnd_toEndOf="@+id/textView"
35         app:layout_constraintHorizontal_bias="0.0"
36         app:layout_constraintStart_toStartOf="parent"
37         app:layout_constraintTop_toBottomOf="@+id/textView" />
38 
39 </androidx.constraintlayout.widget.ConstraintLayout>
 
里面添加了一个 Button 元素,并在 Button 元素的内部增加了几个属性。
 
android:id 是给当前的元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作。
 
如果需要在 XML 中引用一个 id,就使用@id/id_name 这种语法,而如果需要在 XML 中定义一个 id,则要使用@+id/id_name 这种语法
android:id
是给当前的元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作
android:layout_width
指定了当前元素的宽度
使用 match_parent 表示让当前元素和父元素一样宽
使用 wrap_content,表示当前元素的宽度只要能刚好包含里面的内容
android:layout_height
指定了当前元素的高度
使用 match_parent 表示让当前元素和父元素一样高
使用 wrap_content,表示当前元素的高度只要能刚好包含里面的内容
android:text
指定了元素中显示的文字内容
 
 
 
 
 
 
 
 
 
 
 

在活动中加载这个布局

重新回到 ActivityTest中,在 onCreate()方法中加入如下代码:
 
public class FirstActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  }
}
这里调用了 setContentView()方法来给当前的活动加载一个布局,而在setContentView()方法中,我们一般都会传入一个布局文件的 id。
只需要调用 R.layout.activity_main就可以得到 activity_main.xml布局的 id,然后将这个值传入 setContentView()方法即可.
 
 

3、在 AndroidManifest 文件中注册

所有的活动都要在 AndroidManifest.xml 中进行注册才能生效,现在来了解一下代码中各个字段的含义
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.myapplication">
 4 
 5     <application
 6         android:allowBackup="true"
 7         android:icon="@mipmap/ic_launcher"
 8         android:label="@string/app_name"
 9         android:roundIcon="@mipmap/ic_launcher_round"
10         android:supportsRtl="true"
11         android:theme="@style/AppTheme">
12         <activity android:name=".MainActivity">
13             <intent-filter>
14                 <action android:name="android.intent.action.MAIN" />
15 
16                 <category android:name="android.intent.category.LAUNCHER" />
17             </intent-filter>
18         </activity>
19     </application>
20 
21 </manifest>
活动的注册声明要放在<application>标签内,这里是通过<activity>标签来对活动进行注册的。
 
android:name
来指定具体注册哪一个活动
android:label
指定活动中标题栏的内容,标题栏是显示在活动最顶部的.给主活动指定的 label 不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称
 
 
 
 
如果你想让 FirstActivity 作为我们这个程序的主活动,即点击桌面应用程序图标时首先打开的就是这个活动
需要在<activity>标签的内部我们加入了<intent-filter>标签,并在这个标签里添加了<action android:name="android.intent.action.MAIN" />
和<category android:name="android.intent.category.LAUNCHER" />这两句声明
 
 

隐藏标题栏

隐藏的方法非常简单,打开ActivityTest,在 onCreate()方法中添加如下代码:
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.activity_main);
}
requestWindowFeature(Window.FEATURE_NO_TITLE)的意思就是不在活动中显示标题栏,注意这句代码一定要在 setContentView()之前执行,不然会报错。
这样我们的活动中就不会再显示标题栏了
 
 
原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/14354776.html