zoukankan      html  css  js  c++  java
  • 安卓开发创建活动,布局,添加按钮,she使用Toast,设菜单,使菜单相关联等操作

    ---恢复内容开始---

    创建一个新活动在app/src/main/java/com.example.activitytest ,然后右击com.example.activitytest包→New→Activity→Empty Activity

    勾选Generate Layout File表示会自动为FirstActivity创建一个对应的布局文件,勾选Launcher Activity表示会自动将FirstActivity设置为当前项目的主活动

    新建布局文件右击app/src/main/res目录→New→Directory,会弹出一个新建目录的窗口,这里先创建一个名为 layout的目录。然后对着layout目录右键→New→Layout resource file,又会弹出一个新建布局资源文件的窗口,点击OK完成创建后,就会出现一个xml文件,会看到布局编辑器。

    想在布局中添加一个按钮,可将代码改成如下所示

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"                
    android:orientation="vertical"                
    android:layout_width="match_parent"                
    android:layout_height="match_parent">                
    <Button                                
    android:id="@+id/button_1"                                
    android:layout_width="match_parent"                                
    android:layout_height="wrap_content"                                
    android:text="Button    1"                                
    /> 
    </LinearLayout>

    分析:android:id 是给当前的 元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作

    android:layout_width 指定了当前 元素的宽度,这里使用match_parent 表示让当前元素和父元素一样 宽。android:layout_height 指定了当前元素的高度,这里使用wrap_content 表示当前 元素的高度只要能刚好包含里面的内容就行

    在活动中加载布局只需要在activity文件中oncreate()方法中添加setContentView(R.layout.first_layout);即可。(参数是传入一个布局文件的ID)

    所有的活动都需要在AndroidManifest.xml注册后才能生效(如果使用Android studio会自动帮你注册)

    活动的注册声明要放在<application> 标签内,这里是通过<activity> 标签来 对活动进行注册的。

    eg:<activity android:name=".FirstActivity"></activity>

    如果想将该活动设为主活动,则只需在<activity> 标签的内部加入<intent-filter> 标签,并 在这个标签里添加<action android:name="android.intent.action.MAIN"/> 和 <category android: name="android.intent.category.LAUNCHER" /> 这两句声明即可。

    我们还可以使用android:label指定活动中标题栏的内容,其中给主活动指定的label不仅会成为标 题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称。

    eg: android:label="This is FirstActivity">

    在活动中使用菜单:

    首先在res目录下新建一个menu文件夹,右击res目录→New→Directory,输入文件夹名menu,点 击OK。接着在这个文件夹下再新建一个名叫main的菜单文件,右击menu文件夹→New→Menu resource file

    文件名输入main,点击OK完成创建.

    想要设菜单项可以用Item标签,并通过android:id 给这个菜单项指定一个唯一的标识符,通过android:title 给这个菜单项指定 一个名称。 

    eg:<item

       android:id="@+id/add_item"

       android:title="Add"/>

    接着重新回到FirstActivity中来重写onCreateOptionsMenu() 方法,重写方法可以使用Ctrl + O快捷键

    编写如下代码:

    public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.main, menu); return true;

    }

    在FirstActivity中重写onOptionsItemSelected()方法:

    public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

    case R.id.add_item:

    Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();

    break;

    case R.id.remove_item:

    Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();

    break;

    default:

    }

    return true;

    }

    销毁一个活动可以直接改变监听器中的代码,将onClick()方法中只放入finish()方法即可。

    在打开程序后我们都会自动进入主活动页面,如果想要去别的活动页面,我们得引入一个新的概念:Intent

    Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送广 播等场景

    Intent大致可以分为两种:显式Intent 和隐式Intent

    显式Intent:Intent有多个构造函数的重载,其中一个是Intent(Context packageContext, Class<?> cls) 。这个构造函数接收两个参数,第一个参数Context 要求提供一个启动活动的上下文, 第二个参数Class 则是指定想要启动的目标活动,通过这个构造函数就可以构建出Intent 的“意图”。然后我们应该怎么使用这个Intent呢?Activity类中提供了一个startActivity() 方 法,这个方法是专门用于启动活动的,它接收一个Intent 参数,这里我们将构建好的Intent传 入startActivity() 方法就可以启动目标活动了。 

    隐式Intent:它并不明确指出我们想要启动哪一个活动,而是指 定了一系列更为抽象的action 和category 等信息,然后交由系统去分析这个Intent,并帮我们找出合适的活动去启动。

    合适的活动简单来说就是可以响应我们这个隐式Intent的活动.

    我们可以通过在<activity> 标签下配置<intent-filter> 的内容,指定当前活动能够响应的 action 和category

    ---恢复内容结束---

  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/qingjiuling/p/10664283.html
Copyright © 2011-2022 走看看