了解Activity

了解Activity

Tags: Android

摘要

新建一个Activity,事件,Toast,Menu基本用法。

新建Activity

layout文件夹下activity_main.xml,Button标签是设置按钮。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingBottom="@dimen/activity_vertical_margin"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:paddingRight="@dimen/activity_horizontal_margin"
                android:paddingTop="@dimen/activity_vertical_margin"
                tools:context=".MainActivity">


    <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="新按钮" />

</RelativeLayout>

MainActivity.java中设置启动Activity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

标题栏中可以进行的操作其实还是蛮多的,尤其是在Android 4.0之后加入了Action Bar的功能。不过有些人会觉得标题栏相当占用屏幕空间,使得内容区域变小,因此也有不少的应用程序会选择将标题栏隐藏掉。
requestWindowFeature(Window.FEATURE_NO_TITLE);
记得需要写在setContentView(R.layout.activity_main);之前

Toast

就是个alert,不知道为什么老外起名为Toast。

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);

    Button button1 = (Button) findViewById(R.id.button);
    button1.setOnClickListener(new View.OnClickListener() {
        @Override
            public void onClick(View v) {
            Toast.makeText(MainActivity.this, "You clicked Button 1",
                           Toast.LENGTH_SHORT).show();
        }
    });

}

Toast中文乱码,需要在Module中的build.gradle顶部添加

android {
    compileOptions.encoding = "GBK"
}

Menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/add_item"
        android:title="添加" />
    <item
        android:id="@+id/remove_item"
        android:title="删除" />
</menu>

MainActivity.java里覆盖下面两个方法


@Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.add_item:
        Toast.makeText(this, "添加操作", Toast.LENGTH_SHORT).show();
        break;
        case R.id.remove_item:
        Toast.makeText(this, "删除操作", Toast.LENGTH_SHORT).show();
        break;
        default:
    }
    return true;
}

源码地址

https://coding.net/u/javacore/p/android_activity/git