文章目录
功能组件
按钮
在layout里进行配置
<LinearLayout
android:layout_width="match_parent" <!-- 设置LinearLayout的宽度与父容器相同,填满可用空间 -->
android:layout_height="match_parent"> <!-- 设置LinearLayout的高度与父容器相同,填满可用空间 -->
<Button
android:id="@+id/button_1" <!-- 指定按钮的唯一标识符为button_1,可以在代码中引用 -->
android:layout_width="match_parent" <!-- 设置按钮的宽度与其父布局(LinearLayout)相同,填满可用空间 -->
android:layout_height="wrap_content"<!-- 设置按钮的高度根据其内容自适应,包裹内容 -->
android:text="Button 1"> <!-- 按钮显示的文本内容为 "Button 1" -->
</Button> <!-- 结束按钮的定义 -->
</LinearLayout> <!-- 结束LinearLayout的定义 -->
通知小信息(弹出后消失)
在创建的Activity里进行重写
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 调用父类的 onCreate 方法,执行默认的初始化操作
setContentView(R.layout.first_layout); // 设置当前 Activity 的布局文件为 first_layout.xml
// 通过 findViewById 找到布局文件中定义的按钮,并将其赋给 button1 变量
Button button1 = (Button) findViewById(R.id.button_1);
// 设置按钮的点击事件监听器
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 当按钮被点击时执行的操作
Toast.makeText(FirstActivity.this, "别点了,再点我直接爆炸", Toast.LENGTH_SHORT).show();
// 弹出一个短暂的提示信息,显示 "别点了,再点我直接爆炸"
}
});
}
菜单
在res里添加menu,在menu中进行内容编写
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item" <!-- 菜单项的唯一标识符,可以在代码中引用 -->
android:title="Add"/> <!-- 菜单项显示的标题为 "Add" -->
<item
android:id="@+id/remove_item" <!-- 菜单项的唯一标识符,可以在代码中引用 -->
android:title="Remove"/> <!-- 菜单项显示的标题为 "Remove" -->
</menu>
在创建的Activity中先重写onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// 加载菜单布局文件到当前的选项菜单中
getMenuInflater().inflate(R.menu.main, menu);
return true; // 返回 true 表示菜单已经成功创建并显示在 Activity 上
}
显示菜单后我们还需要给菜单添加响应时间(这里用上文的Toast举例)
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// 当用户点击某个选项菜单项时调用此方法,并传入被点击的 MenuItem 对象 item
// 判断被点击的菜单项的唯一标识符(ID)是否等于 R.id.add_item
if (item.getItemId() == R.id.add_item) {
// 如果是 add_item 被点击了,则显示一个短暂的提示信息“你选了Add”
Toast.makeText(this, "你选了Add", Toast.LENGTH_SHORT).show();
}
// 判断被点击的菜单项的唯一标识符(ID)是否等于 R.id.remove_item
else if (item.getItemId() == R.id.remove_item) {
// 如果是 remove_item 被点击了,则显示一个短暂的提示信息“你选了Remove”
Toast.makeText(this, "你选了Remove", Toast.LENGTH_SHORT).show();
}
return true; // 返回 true 表示事件已经处理完成
}
Intent
显式Intent
// 创建一个 Intent 对象,用于启动 SecondActivity
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
// 使用该 Intent 启动 SecondActivity
startActivity(intent);
隐式Intent
<activity
android:name=".SecondActivity"
android:exported="true" >
<!-- 设置 SecondActivity 的 intent-filter -->
<intent-filter>
<action android:name="com.example.activitytest.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Intent intent = new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
每个Intent只能对应一个action,但是可以指定多个category。
可以再添加一个category:
public void onClick(View