摘录自
书名:第一行代码——Android(第2版)
作者:郭霖
E:\AndroidProject
文章目录
- @[toc]
- Activity
- 布局文件
- Button
- 显示intent
- 隐示intent
- Toast
- menu
文章目录
- @[toc]
- Activity
- 布局文件
- Button
- 显示intent
- 隐示intent
- Toast
- menu
Activity
xml语法补充
<!--在xml中引用一个id-->
@id/id_name
<!--在xml中定义一个id-->
@+id/id_name
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1" />
</LinearLayout>
Button
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);//给当前活动加载一个布局
Button button1 = (Button) findViewById(R.id.button_1);
//findViewById()获取在布局文件中定义的元素button_1
//因为findViewById()返回的是view实例,因此需要(Button)强制转换为Button对象
//得到按钮的实例以后通过setOnClickListener()为按钮注册一个监听器,点击按钮时,就能执行onClick中的操作
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
//先通过makeText()创建一个Toast对象
//然后调用show显示Toast
//makeText()需要传入三个参数
// 第一个参数Context,Toast的上下文,这里直接传入FirstActivity
//第二个参数为显示的文本内容
//第三个参数为显示时间
}
});
}
显示intent
public void onClick(View v) {
//显示intent
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
//首先构建出一个intent,传入FirActivity.this作为上下文,传入SecondActivity.class作为目标活动
//意为在FirstActivity为基础打开SecondActivity
startActivity(intent);
}
隐示intent
public void onClick(View v) {
//隐示intent
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
}
Toast
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
//先通过makeText()创建一个Toast对象
//然后调用show显示Toast
//makeText()需要传入三个参数
// 第一个参数Context,Toast的上下文,这里直接传入FirstActivity
//第二个参数为显示的文本内容
//第三个参数为显示时长
});
menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
//判断选择的是那个菜单
switch (item.getItemId()){
case R.id.add_item:
Toast.makeText(this,"cliced add",Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"clicked remove",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}