package activitytest;
import com.example.activitytest.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;
public class FirstActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏,这句要在setContentView(R.layout.first_layout)前执行,不然会报错
setContentView(R.layout.first_layout);//给当前活动加载一个布局,参数是R文件中的一个布局文件id,这里要导入一个包,别导入android包下的R文件
Button button1 = (Button) findViewById(R.id.button_1);//用findViewById获取布局文件中定义的元素,该方法返回值是一个View对象
button1.setOnClickListener(new OnClickListener() {
/*public void onClick(View v) {Toast.makeText(FirstActivity.this, "You clicked Button1",Toast.LENGTH_LONG).show();//makeText方法可以创建一个Toast对象,第一个参数是上下文,第二个参数是显示内容,第三个是显示时长}*///按钮功能一:显示一个toast标签public void onClick(View v) {finish();//按钮功能二:关闭程序}});}//重写菜单函数,函数名一旦写错,不会报错,但显示不出菜单,getMenuInflater()获得一个MenuInflater对象,再调用inflate方法创建菜单public boolean onCreateOptionsMenu(Menu menu) {//第一个参数是指定创建菜单的文件,第二个参数是菜单项添加到哪个Menu对象getMenuInflater().inflate(R.menu.main, menu);return true;//true表示允许菜单显示出来,false无法显示}//重写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;}}
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
default就是如果没有符合的case就执行它,default并不是必须的.
case后的语句可以不用大括号.
一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"//与父元素一样宽
android:layout_height="wrap_content"//刚好包含内容长度
android:text="Button 1"//字符串最好存在string.xml文件,用@string引用,不然有警告
/>
</LinearLayout>
注册文件
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.activitytest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"//最小版本
android:targetSdkVersion="19" />//目标版本
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="activitytest.FirstActivity"//书上是.FirstActivity不过我不加前面的包名会报错
android:label="@string/app_name">//标题栏内容
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />//声明这个活动是主活动
</intent-filter>
</activity>
</application>
</manifest>