zoukankan      html  css  js  c++  java
  • 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()之前执行,不然会报错。
    这样我们的活动中就不会再显示标题栏了
     
     
  • 相关阅读:
    day 1 认识js
    day2,request对象
    day3
    day 14 函数的嵌套,作用域
    命名空间(名称空间)
    day 13 函数
    day 11(2) 集合
    day 11 字典拆包
    字典
    两周英语函数(记)
  • 原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/14354776.html
Copyright © 2011-2022 走看看