AndroidManifest文件
所有创建的Activity都应当在AndroidManifest文件中进行注册,活动的注册声明要放在<application>标签内,并且通过<activity>标签进行注册。
首先需要通过android:name来指定具体注册的是哪个活动,若最外层的<mainfest>标签内通过package属性指明了程序的包名,例如指定程序的包名为com.example.activitytest,则在注册Activity时,可直接将android:name指定为.FisrtActivity。
一般来说,在<activity>标签内部需要加入<intent-filter>标签,如果在<intent-filter>标签内部设置<action android:name="android.intent.action.MAIN"/>和<category android:name="android.intent.category.LAUNCHER">,则表明该Activity将作为整个Application的主活动,也即点击应用程序图标时,首先打开这个活动。
如果你的应用程序中没有任何一个活动声明为主活动,这个程序仍然是可以正常安装的,只是你无法在启动器中看到或者打开这个程序,这个程序一般是作为第三方服务供其他应用在内部进行调用的,如支付宝快捷支付服务。
这里列出一个最简单的AndroidManifest文件作为参考,如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lemontree.activitytest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.lemontree.activitytest.FirstActivity"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
隐藏标题栏
有时候我们不希望出现标题栏,因为标题栏会占用屏幕较大的空间,这个时候只需要在setContentView()之前执行requestWindowFeature(Window.FEATURE_NO_TITLE) 即可,隐藏任务栏的显示效果如下图:
在活动中使用Toast
Toast是用来进行提醒的一种很好的方式,在程序中可以使用Toast将一些短小的消息通知给用户,这些消息子在一段时间后会自动消失,并且不会占用任何屏幕空间。Toast的通常用法为: Toast.makeText(FirstActivity.this, "You clicked Button 1", Toast.LENGTH_SHORT).show(),Toast.LENGTH_SHORT用来指定Toast的显示时间,通常设置为Toast.LENGTH_SHORT即可,当然需要需要较长时间的显示,也可设置为Toasr.LENGTH_LONG。Toast的使用效果如下:
活动中menu的使用
在创建Activity的过程中,通过会自动创建一个onCreateOptionsMenu()方法,这个方法就是用来创建菜单的。
在res目录下新建一个menu文件夹,并且在该文件夹下创建一个main.xml文件,添加如下代码:
<?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="Add"/>
<item
android:id="@+id/remove_item"
android:title="Remove"/>
</menu>
上面这片代码表明创建两个菜单项,其中一个为Add,另一个为Remove。通过在Activity中重写onCreateOptionsMenu()方法, 创建菜单,如下面代码所示:
public boolean onCreateOptionMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
通过 getMenuInflater()方法能够得到 MenuInflater 对象,再调用它的 inflate()方法就可以给当前活动创建菜单了。inflate()方法接收两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里当然传入 R.menu.main,第二个参数用于指定我们的菜单项将添加到哪一个 Menu 对象当中,这里直接使用 onCreateOptionsMenu()方法中传入的 menu 参数。然后给这个方法返回 true,表示允许创建的菜单显示出来,如果返回了 false,创建的菜单将无法显示 。
销毁一个活动
如果希望在程序中主动销毁一个活动,只需要调用finish()方法即可,如下面这段代码所示:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}