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

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

  • 相关阅读:
    sql server mdx
    mysql 按照 汉字的第一个拼音排序
    转,mysql的select * into
    mysql 日期的操作
    google 地图api
    ip_test
    AJAX (转w3cschool)
    jquery ajax 失败
    安装AdventureWorks2008R2示例数据库
    弹出新的网页窗口 js
  • 原文地址:https://www.cnblogs.com/qingjiuling/p/10664283.html
Copyright © 2011-2022 走看看