创建一个自定义活动(Activity)、使之成为主活动
- 在对应的包下创建一个activity,命名为first_activity,在res下创建layout文件夹,并创建layout文件命名为first_layout
- 在layout文件里随便创建一个按钮,使之代码如下
其中,@+id/xxx,将会在对应的R文件下创建一个button_1对应的值 - 在AndroidManifest文件中注册,并设置为主活动
- 在之前创建的first_activity中给当前面活动加载布局
public class first_activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layot);
}
}
- 运行即可
创建菜单、按钮按下产生toast
- 在firstactivity中,为按钮button1绑定按下事件
public class first_activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layot);
Button Button1 = (Button) findViewById(R.id.button_1);
Button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
Toast.makeText(first_activity.this,"Button1 clicked!!!",Toast.LENGTH_SHORT).show();
}
});
}
}
- 在res下创建menu文件夹,再创建一个名为main的菜单文件,在其内创建两个item
- 在活动中,重写onCreateOptionsMenu和onOptionsItemSelect方法,可以使用ctrl+o快速找到这两个重写方法,最终activity里代码为
public class first_activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layot);
Button Button1 = (Button) findViewById(R.id.button_1);
Button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
Toast.makeText(first_activity.this,"Button1 clicked!!!",Toast.LENGTH_SHORT).show();
}
});
}
@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,"add_item clicked!!!",Toast.LENGTH_SHORT).show();
break;
case R.id.Remove_item:
Toast.makeText(this,"remove_item clicked!!!",Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return true;
}
}
今日总结
- 创建好活动之后,要设置当前活动使用的布局
- 活动要在AndroidManifest中注册和设置
- Toast三个参数:上下文,显示内容,显示时间
- 在学习过程中同时学习了匿名类和内部类的知识
- 对R文件存在的意义更有体会:通过java代码去访问xml文件下的内容时候,就需要用到R文件内部存储的编号