当前位置: 首页 > news >正文

26.HarmonyOS App(JAVA)列表对话框

列表对话框的单选模式:

 //单选模式
//        listDialog.setSingleSelectItems(new String[]{"第1个选项","第2个选项"},1);//单选
//        listDialog.setOnSingleSelectListener(new IDialog.ClickedListener() {
//            @Override
//            public void onClick(IDialog iDialog, int i) {
//                showToast(context,"单击了第"+(i+1)+"个选项");
//            }
//        });

多选模式:

 //多选模式listDialog.setMultiSelectItems(new String[]{"第1个选项","第2个选项"},new boolean[]{false,false});//多选listDialog.setOnMultiSelectListener(new IDialog.CheckBoxClickedListener() {@Overridepublic void onClick(IDialog iDialog, int i, boolean b) {showToast(context,"单击了第"+(i+1)+"个选项");}});
package com.example.myapplication.slice;import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.*;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.render.opengl.Utils;
import ohos.agp.utils.Color;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.utils.TextAlignment;
import ohos.agp.window.dialog.IDialog;
import ohos.agp.window.dialog.ListDialog;
import ohos.agp.window.dialog.PopupDialog;
import ohos.agp.window.dialog.ToastDialog;
import ohos.app.Context;import static ohos.agp.components.ComponentContainer.LayoutConfig.MATCH_CONTENT;public class MainAbilitySlice extends AbilitySlice {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);Button button = (Button) findComponentById(ResourceTable.Id_btn);Text text = (Text) findComponentById(ResourceTable.Id_text_helloworld);text.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {showToast(MainAbilitySlice.this,"点击了开始");}});button.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {showToast(MainAbilitySlice.this,"点击了测试");}});Button btn_qipiao = (Button) findComponentById(ResourceTable.Id_btn_qipao);btn_qipiao.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {showQipaoDialog(MainAbilitySlice.this,component,"这是气泡对话框提示");}});Button btn_listdialog = (Button) findComponentById(ResourceTable.Id_btn_listdialog);btn_listdialog.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {listDialog(MainAbilitySlice.this);}});}public void showQipaoDialog(Context context, Component component, String str){PopupDialog popupDialog = new PopupDialog(context,component,600,100);popupDialog.setBackColor(Color.BLUE);popupDialog.setHasArrow(true);//显示气泡箭头//创建自定义对话框组件Text text = new Text(context);text.setText(str);text.setTextSize(50);text.setLayoutConfig(new ComponentContainer.LayoutConfig(MATCH_CONTENT,MATCH_CONTENT));text.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {popupDialog.hide();}});popupDialog.setCustomComponent(text).setMode(PopupDialog.ICON2).show();}//列表对话框public void listDialog(Context context){ListDialog listDialog = new ListDialog(context,ListDialog.NORMAL);//默认模式//        listDialog.setListener(new ListContainer.ItemClickedListener() {
//            @Override
//            public void onItemClicked(ListContainer listContainer, Component component, int i, long l) {
//                showToast(context,"单击了第"+(i+1)+"个选项");
//            }
//        },null,null);//单选模式
//        listDialog.setSingleSelectItems(new String[]{"第1个选项","第2个选项"},1);//单选
//        listDialog.setOnSingleSelectListener(new IDialog.ClickedListener() {
//            @Override
//            public void onClick(IDialog iDialog, int i) {
//                showToast(context,"单击了第"+(i+1)+"个选项");
//            }
//        });//多选模式listDialog.setMultiSelectItems(new String[]{"第1个选项","第2个选项"},new boolean[]{false,false});//多选listDialog.setOnMultiSelectListener(new IDialog.CheckBoxClickedListener() {@Overridepublic void onClick(IDialog iDialog, int i, boolean b) {showToast(context,"单击了第"+(i+1)+"个选项");}});//listDialog.setButton(0,"取消",new IDialog.ClickedListener(){@Overridepublic void onClick(IDialog iDialog, int i) {listDialog.hide();}});listDialog.setButton(1, "确认", new IDialog.ClickedListener() {@Overridepublic void onClick(IDialog iDialog, int i) {//listDialog.hide();showToast(MainAbilitySlice.this,"点击了确认");}});listDialog.setSize(400,300);listDialog.show();}public void showToast(Context context,String str){Text text = new Text(context);text.setWidth(MATCH_CONTENT);text.setHeight(MATCH_CONTENT);text.setText(str);text.setTextSize(45);text.setPadding(30,10,30,10);//设置内边距text.setMultipleLine(true);text.setTextColor(Color.BLUE);text.setTextAlignment(TextAlignment.CENTER);//文本组件使用灰色圆角背景ShapeElement element = new ShapeElement();element.setRgbColor(new RgbColor(0x888888FF));element.setShape(ShapeElement.RECTANGLE);element.setCornerRadius(15);//设置圆角半径text.setBackground(element);//创建定向布局,并加入文本组件DirectionalLayout layout = new DirectionalLayout(context);layout.setWidth(MATCH_CONTENT);layout.setHeight(MATCH_CONTENT);layout.setAlignment(LayoutAlignment.CENTER);layout.addComponent(text);ToastDialog toastDialog = new ToastDialog(context);toastDialog.setComponent(layout);//使用自定义组件toastDialog.setTransparent(true).setDuration(2000) //显示2秒.setAlignment(LayoutAlignment.BOTTOM+LayoutAlignment.HORIZONTAL_CENTER).setOffset(0,200) //距离底部边距.show();}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}
}

相关文章:

26.HarmonyOS App(JAVA)列表对话框

列表对话框的单选模式: //单选模式 // listDialog.setSingleSelectItems(new String[]{"第1个选项","第2个选项"},1);//单选 // listDialog.setOnSingleSelectListener(new IDialog.ClickedListener() { // Override …...

五种主流数据库:常用字符函数

SQL 字符函数用于字符数据的处理,例如字符串的拼接、大小写转换、子串的查找和替换等。 本文比较五种主流数据库常用数值函数的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。 字符函数函数功能MySQLOracleSQL ServerPostgreSQ…...

软考笔记--企业资源规划和实施

企业资源是指企业业务活动和战略运营的事物,包括人、财和物,也包括信息资源,同时也包括企业的内部和外部资源。企业资源可以归纳为物流,资金流和信息流。企业资源规划(ERP)是只建立在信息技术基础上&#x…...

React歌词滚动效果(跟随音乐播放时间滚动)

首先给audio绑定更新时间事件 const updateTime e > {console.log(e.target.currentTime)setCurrentTime(e.target.currentTime);};<audiosrc{currentSong.url}ref{audio}onCanPlay{ready}onEnded{end}onTimeUpdate{updateTime}></audio>当歌曲播放时间改变的时…...

java面试题之mybatis篇

什么是ORM&#xff1f; ORM&#xff08;Object/Relational Mapping&#xff09;即对象关系映射&#xff0c;是一种数据持久化技术。它在对象模型和关系型数据库直接建立起对应关系&#xff0c;并且提供一种机制&#xff0c;通过JavaBean对象去操作数据库表的数据。 MyBatis通过…...

Java的编程之旅19——使用idea对面相对象编程项目的创建

在介绍面向对象编程之前先说一下我们在idea中如何创建项目文件 使用快捷键CtrlshiftaltS新建一个模块&#xff0c;点击“”&#xff0c;再点New Module 点击Next 我这里给Module起名叫OOP,就是面向对象编程的英文缩写&#xff0c;再点击下面的Finish 点Apply或OK均可 右键src…...

docker build基本命令

背景 我们经常会构建属于我们应用自己的镜像&#xff0c;这种情况下编写dockerfile文件不可避免&#xff0c;本文就来看一下常用的dockerfile的指令 常用的dockerfile的指令 首先我们看一下docker build的执行过程 ENV指令&#xff1a; env指令用于设置shell的环境变量&am…...

nginx高级配置详解

目录 一、网页的状态页 1、状态页的基本配置 2、搭配验证模块使用 3、结合白名单使用 二、nginx 第三方模块 1、echo模块 1.1 编译安装echo模块 1.2 配置echo模块 三、nginx变量 1、内置变量 2、自定义变量 四、自定义图标 五、自定义访问日志 1、自定义日志格式…...

小程序--分包加载

分包加载是优化小程序加载速度的一种手段。 一、为什么进行分包 小程序限制单个包体积不超过2M&#xff1b; 分包可以优化小程序页面的加载速度。 二、启用/使用分包语法subPackages subPackages&#xff1a;下载app.json文件中 root&#xff1a;分包所在的目录 pages&#x…...

R语言【base】——writeLines()

Package base version 4.2.0 Description 向连接写入文本行。 Usage writeLines(text, con stdout(), sep "\n", useBytes FALSE) Arguments 参数【text】&#xff1a;一个字符向量。 参数【con】&#xff1a;一个 connection 对象 或 一个字符串。 参数【se…...

微信小程序-人脸检测

微信小程序的人脸检测功能&#xff0c;配合蓝牙&#xff0c;配合ESP32 可以实现一些有趣的玩具 本文先只说微信小程序的人脸检测功能 1、人脸检测使用了摄像头&#xff0c;就必须在用户隐私权限里面声明。 修改用户隐私声明后&#xff0c;还需要等待审核&#xff0c;大概一天 …...

微信小程序自制动态导航栏

写在前面 关于微信小程序导航栏的问题以及解决办法我已经在先前的文章中有提到&#xff0c;点击下面的链接即可跳转~ &#x1f90f;微信小程序自定义的导航栏&#x1f90f; 在这篇文章中我们需要做一个这样的导航栏&#xff01;先上效果图 &#x1f447;&#x1f447;&#x1f…...

金融知识分享系列之:五日线

金融知识分享系列之&#xff1a;五日线 一、股票均线二、五日线三、五日线加量能三、五日线案例四、五日线案例五、五日线案例六、五日线案例七、五日线案例八、五日线案例 一、股票均线 股票均线是一种用于平滑股票价格的指标。它是根据一段时间内的股票价格计算得出的平均值…...

回归测试详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 什么是回归测试 回归测试&#xff08;Regression testi…...

渲染效果图有哪几种分类?效果图为什么用云渲染更快

云渲染利用了集群化的云端服务器资源&#xff0c;通过并行计算充分发挥了高性能硬件的优势&#xff0c;显著提升了渲染的速度。这一技术特别适用于处理规模庞大或细节丰富的渲染任务&#xff0c;在缩短项目完成时间方面表现卓越。无论是用于为建筑提供精确的可视化效果图&#…...

Docker镜像加速

前言 众所周知&#xff0c;我们常用的一些工具或系统的下载源都是国外的&#xff0c;这就会导致我们在下载一些东西时&#xff0c;会导致下载巨慢或者下载失败的情况&#xff0c;下面便是docker换下载源的教程 镜像加速 下面是几个常用的国内的镜像 科大镜像&#xff1a;ht…...

吴恩达deeplearning.ai:sigmoid函数的替代方案以及激活函数的选择

以下内容有任何不理解可以翻看我之前的博客哦&#xff1a;吴恩达deeplearning.ai专栏 文章目录 引入——改进下需求预测模型ReLU函数(整流线性单元 rectified linear unit&#xff09;线性激活函数(linear activation function)激活函数的选择实现方式为什么需要激活函数 到现在…...

Alias许可分析中的数据可视化

Alias许可分析中的数据可视化&#xff1a;引领企业洞察合规之道的明灯 在信息化时代&#xff0c;数据可视化已成为各行各业的重要工具&#xff0c;能够帮助用户直观地理解和分析复杂的数据。在Alias许可分析中&#xff0c;数据可视化同样发挥着至关重要的作用&#xff0c;为企…...

【计算机网络】数据链路层--以太网/MTU/ARP/RARP协议

文章目录 一、以太网1.以太网帧格式2.MAC地址3.局域网的转发原理 二、MTU1.什么是MTU2.MTU对IP协议的影响3.MTU对UDP影响4.MTU对于TCP协议的影响 三、ARP协议1.ARP协议的作用2.ARP数据报的格式3.ARP协议的工作流程 一、以太网 “以太网” 不是一种具体的网络, 而是一种技术标准…...

typescript使用解构传参

看下面这个函数 interface Student {id: number;name: string;class: string;sex: string;}function matriculation(student: Student) {//...}我们要调用它,就需要传递一个实现了Student约束的对象进去 interface Student {id: number;name: string;class: string;sex: string…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...