手动创建活动、布局
- 新建活动时,勾选Generate Layout File表示会自动为活动创建一个对应的布局文件,勾选Launcher Activity表示会自动将活动设置为当前项目的主活动
- 布局:根元素
<LinearLayout></LinearLayout>
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。
-
match_parent:表示让当前元素和父元素一样宽
-
wrap_content:表示当前元素的高度要刚好能包含里面的内容
-
要在活动中加载布局:
setContentView(R.layout.first_layout);
(项目中添加的任何资源都会在R文件中生成一个相应的资源id) -
在AndroidManifest.xml中注册活动
<activity
android:name=".FirstActivity"
android:label="嘿嘿!">//label为标题栏显示的内容
//配置主活动
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- 提醒:Toast
Button button1=(Button)findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//通过静态方法makeText()创建一个Toast对象,调用show()显示
//makeText()方法需要传入三个参数:1.context,即Toast要求的上下文;2.Toast显示的文本内容;3.Toast显示的时长(两个内置常量:Toast.LENGTH_SHORT和Toast.LENGTH_LONG
Toast.makeText(FirstActivity.this,"i am your Daddy",Toast.LENGTH_SHORT).show();
}
- 菜单:Menu
在资源文件res下新建menu文件夹,在menu中新建菜单文件(Menu resource file)
<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>
在活动中创建菜单:
//创建菜单
@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", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"你点击了Remove", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
Intent
1. 显式Intent
//构造函数Intent的第一个参数Context要求提供一个启动活动的上下文,第二个参数Class指定想要启动的活动目标,代码基于按钮点击事件中
Intent intent