NewQuickAction 技术文档
2024-12-24 11:21:07作者:袁立春Spencer
1. 安装指南
1.1 添加依赖
首先,在你的 build.gradle 文件中添加 NewQuickAction 库的依赖:
dependencies {
implementation 'com.lorensiuswlt:NewQuickAction:1.0.0'
}
1.2 同步项目
添加依赖后,点击 "Sync Now" 按钮,确保项目与依赖库同步。
2. 项目的使用说明
2.1 创建 QuickAction 对话框
在 Activity 中创建 QuickAction 对话框的步骤如下:
- 创建
ActionItem对象,每个对象代表一个操作项。 - 将
ActionItem添加到QuickAction对象中。 - 设置
QuickAction的点击监听器和消失监听器。 - 将
QuickAction绑定到按钮的点击事件上。
2.2 示例代码
以下是一个完整的示例代码,展示了如何创建和使用 QuickAction 对话框:
public class Example1Activity extends Activity {
private static final int ID_ADD = 1;
private static final int ID_ACCEPT = 2;
private static final int ID_UPLOAD = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.example1);
ActionItem addItem = new ActionItem(ID_ADD, "Add", getResources().getDrawable(R.drawable.ic_add));
ActionItem acceptItem = new ActionItem(ID_ACCEPT, "Accept", getResources().getDrawable(R.drawable.ic_accept));
ActionItem uploadItem = new ActionItem(ID_UPLOAD, "Upload", getResources().getDrawable(R.drawable.ic_up));
// 设置 uploadItem 为 sticky 模式,点击后不会关闭对话框
uploadItem.setSticky(true);
final QuickAction mQuickAction = new QuickAction(this);
mQuickAction.addActionItem(addItem);
mQuickAction.addActionItem(acceptItem);
mQuickAction.addActionItem(uploadItem);
// 设置操作项点击监听器
mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() {
@Override
public void onItemClick(QuickAction quickAction, int pos, int actionId) {
ActionItem actionItem = quickAction.getActionItem(pos);
if (actionId == ID_ADD) {
Toast.makeText(getApplicationContext(), "Add item selected", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), actionItem.getTitle() + " selected", Toast.LENGTH_SHORT).show();
}
}
});
// 设置对话框消失监听器
mQuickAction.setOnDismissListener(new QuickAction.OnDismissListener() {
@Override
public void onDismiss() {
Toast.makeText(getApplicationContext(), "Ups..dismissed", Toast.LENGTH_SHORT).show();
}
});
Button btn1 = (Button) this.findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mQuickAction.show(v);
}
});
Button btn2 = (Button) this.findViewById(R.id.btn2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mQuickAction.show(v);
mQuickAction.setAnimStyle(QuickAction.ANIM_GROW_FROM_CENTER);
}
});
}
}
3. 项目API使用文档
3.1 ActionItem 类
ActionItem 类用于表示 QuickAction 对话框中的一个操作项。
构造函数
ActionItem(int id, String title, Drawable icon):创建一个带有 ID、标题和图标的操作项。
方法
void setSticky(boolean sticky):设置操作项是否为 sticky 模式,即点击后是否关闭对话框。
3.2 QuickAction 类
QuickAction 类用于创建和管理 QuickAction 对话框。
构造函数
QuickAction(Context context):创建一个 QuickAction 对象。
方法
void addActionItem(ActionItem actionItem):向对话框中添加一个操作项。void setOnActionItemClickListener(OnActionItemClickListener listener):设置操作项点击监听器。void setOnDismissListener(OnDismissListener listener):设置对话框消失监听器。void show(View anchor):显示 QuickAction 对话框,anchor是触发对话框的视图。void setAnimStyle(int animStyle):设置对话框的动画样式。
4. 项目安装方式
4.1 通过 Gradle 安装
在项目的 build.gradle 文件中添加以下依赖:
dependencies {
implementation 'com.lorensiuswlt:NewQuickAction:1.0.0'
}
4.2 通过 Maven 安装
如果你使用 Maven,可以在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>com.lorensiuswlt</groupId>
<artifactId>NewQuickAction</artifactId>
<version>1.0.0</version>
</dependency>
4.3 手动安装
你也可以手动下载库的 JAR 文件,并将其添加到项目的 libs 目录中。
通过以上步骤,你可以轻松地在 Android 项目中使用 NewQuickAction 库来创建 QuickAction 对话框。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0245- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
641
4.19 K
Ascend Extension for PyTorch
Python
478
579
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
934
841
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
386
272
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.51 K
866
暂无简介
Dart
884
211
仓颉编程语言运行时与标准库。
Cangjie
161
922
昇腾LLM分布式训练框架
Python
139
162
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21