AndroidStudio_Cha2_1

Ch2: 探究(Activity)活动

2.2 事件

2.2.1  活动的基本用法

     1. 新建一个Empty_Act的工程

     2. 手动在Main里面添加一个不带Layout的Act (不要勾选 创建Layout 和Launcher,which is the main Act)

     3. 创建一个Layout的文件目录(在Res中),并New一个LayoutResourceFile。这时候就有了布局设计了,可以添加一个Button(用  text  或者 图形化来做)

     4.  在活动中,加载布局 。用SetContentView(id)的方法来加载。此处,所有的Res资源文件中的都会在R文件中产生对应的ID。所以,是R.layout.first_layout

     5.  在manifest中注册。

     实际上,在创建新活动时候已经自动创建过,不过我们要声明一下main Act。 此处用<intent-filter>标签

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>         //将该活动定义为主活动
</intent-filter>

在activity中添加上述代码。  此后 即可以运行这个工程。

                                                                      p.s:这里要善于使用AndroidStudio的自动补全代码。


2.2.2  在活动中使用Toast (短小信息提醒的很好的方式)

首先要定义 Toast弹出的触发点。  我们上面有个BUTTON,所以就ClickButton来弹出。

protected void onCreate(Bundle savedInstanceState)
{  // 任何Act都应该重写OnCreate方法
    super.onCreate(savedInstanceState);
    setContentView(R.layout.first_layout);   //用 set... 这个方法, 给当前活动加载一个布局    所有资源都会在R文件中生成相应的资源ID
    Button button1 = (Button) findViewById(R.id.button_1);     // 获取按钮资源
    button1.setOnClickListener(new View.OnClickListener(){    // 注册一个监听器 (给按钮注册)
        @Override
        public void onClick(View v){          // 点击按钮时,执行监听器中的Onclick()方法,所以Toast写在onClick里面

            Toast.makeText(FirstActi.this,"You Clicked Button_1", Toast.LENGTH_LONG).show();   //short for 2sec D long for 3.5
            }
                                                        });
}

这里还有其他2种Toast方法。见 https://blog.csdn.net/a9529lty/article/details/7542828


2.2.3  在活动中使用Menu 

         1. 在res中先Creat一个menu文件夹

        2. 在 menu 中New一个 menu resourse file。 命名main

        3. 在main.xml中  写入Menu_Button

<item
    android:id="@+id/add_item"
    android:title="Add"/>
<item
    android:id="@+id/remove_item"
    android:title="Remove"/>

这里写入了2个Button

        4. 回到 FirstActi 中重写 onCreateOptionsMenu()方法,确保可以将菜单显示出来。 ( ctrl + O )

public boolean onCreateOptionsMenu(Menu menu) {
    //重写Menu方法
    getMenuInflater().inflate(R.menu.main, menu);    //(Menu资源Id,要添加到的Menu对象)
    return true;                                 // True表示,显示出菜单
}

        5. 定义菜单响应事件(光光显示是没用的),重写 onOptionsItemSelected(MenuIten item) 方法

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){           // 通过调用 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;
}

以上,运行App,即可!

2.2.4 销毁一个活动

    本来,按下back键就可以销毁当前的活动。不过如果用代码的话,一个 finish() 即可做到。

  

public void onClick(View v){
    //Toast.makeText(FirstActi.this,"You Clicked Button_1", Toast.LENGTH_LONG).show();   //short for 2sec D long for 3.5
finish();
}

将监视器中的代码改为 finish();   

运行App,点击按钮,当前Act销毁,自动退出到桌面。


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页