没到暑假真是头疼,总有各种各样的事情............
废话不说,先补昨天落下的内容:
昨日收获:
1、活动的基本用法;
2、创建和加载布局;
3、在AndroidManifest.xml文件中注册活动;
4、Toast的用法;
5、Menu的用法;
6、销毁一个活动;
详细记录:
1、活动的基本用法:
创建完项目后,手动创建活动如图,在com.example.activitytest这个包里创建活动:
任何活动都应该重写Activity的onCreate()方法
2、创建和加载布局:
在app/src/main/res目录下New->Directory创建布局文件目录,再创建空的布局资源文件;
给布局文件通过XML文件方式添加按钮:
其中:
1)android:id给当前的按钮元素定义唯一的标识符;此处为定义的语法:@+id/button_1;而之前在XML中引用资源的语法为@id/id_name。
2)android:layout_width指定当前元素宽度(match_parent表示让当前元素和父元素同宽)。
3)android:layout_height指定当前元素高度(wrap_content表示当前元素高度只要能刚好包含里面的元素即可)。
4)android:text指定元素中显示的文字。
按钮显示成功后,这个小布局就完成了,接下来在活动中加载此布局:在FirstActivity的onCreate()方法中调用setContentView()方法来为当前活动加载一个布局:
关于setContentView()方法:第二天记录过用法。
3、在AndroidManifest.xml文件中注册活动:
活动的注册声明放在<application>标签中,通过<activity>标签来注册;
在<activity>标签中:android:name来指定具体注册哪一个活动;
<intent-filter>标签里添加如上两行声明来配置主活动(即点击应用程序图标时首先打开的活动);其余见注释。
4、Toast的用法:
Toast是Android系统提供的一种很好的提醒方式。
首先定义一个弹出Toast的触发点:在onCreate()方法中添加
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);// 调用父类的onCreate()方法
setContentView(R.layout.first_layout);//调用setContentView()方法给当前活动加载一个布局
Button button1 = (Button) findViewById(R.id.button_1);//获取在布局文件中定义的元素,返回一个View对象,因此需要向下转型成Button对象
button1.setOnClickListener(new View.OnClickListener(){//setOnClickListener()注册一个监听器
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",//Toast通过静态方法makeText()创建一个Toast对象,然后
Toast.LENGTH_SHORT).show();//调用show()将Toast显示出来就行了
finish();//在程序中销毁活动
}//makeText()方法需要传入三个参数:Context(上下文)、显示的文本内容、显示时长。
});
}
1)findViewById()方法:获取到布局文件中定义的元素,返回一个View对象,因此需要向下转型成Button对象。
2)setOnClickListener()方法:注册按钮监听器。
3)onClick()方法:内含弹出Toast的功能。
4)makeText()方法:见注释。
5、Menu的用法:
res目录下新建menu文件夹,再在此文件夹下新建一个名叫main的菜单文件,在main.xml中添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item // item标签用来创建一个具体的菜单项
android:id="@+id/add_item" // android:id给这个菜单项指定一个唯一的标识符
android:title="Add" /> // android:title给这个菜单项指定一个名称
<item
android:id="@+id/remove_item"
android:title="Remove" />
</menu>
再到FirstActivity中来重写onCreateOptionsMenu()方法(快捷键Ctrl+O),后在其中添加:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}/*
*@Method :重写onCreateOptionsMenu(Menu menu)方法
*@Calling Method :在getMenuInflater()方法中调用其inflate()方法给当前活动创建菜单
* inflate()方法接收两个参数:资源文件和目的对象
*@Return Value :返回值为ture表示允许菜单显示出来
*/
至此菜单显示出来了,再在FirstActivity中重写onOptionsItemSelected()方法,来定义菜单的响应事件:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){ //在这里调用item.getItemId()方法判断点击了哪一个菜单项,然后加上逻辑处理即可
case R.id.add_item:
Toast.makeText(this, "You clickde Add", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "You clickde Remove", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
}
6、销毁一个活动:调用Activity类中的finish()方法即可:
OK!照例:
何日归家洗客袍?银字笙调,心字香烧。流光容易把人抛,红了樱桃,绿了芭蕉。