当前位置: 首页 > 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);}
}

http://www.lryc.cn/news/306424.html

相关文章:

  • 五种主流数据库:常用字符函数
  • 软考笔记--企业资源规划和实施
  • React歌词滚动效果(跟随音乐播放时间滚动)
  • java面试题之mybatis篇
  • Java的编程之旅19——使用idea对面相对象编程项目的创建
  • docker build基本命令
  • nginx高级配置详解
  • 小程序--分包加载
  • R语言【base】——writeLines()
  • 微信小程序-人脸检测
  • 微信小程序自制动态导航栏
  • 金融知识分享系列之:五日线
  • 回归测试详解
  • 渲染效果图有哪几种分类?效果图为什么用云渲染更快
  • Docker镜像加速
  • 吴恩达deeplearning.ai:sigmoid函数的替代方案以及激活函数的选择
  • Alias许可分析中的数据可视化
  • 【计算机网络】数据链路层--以太网/MTU/ARP/RARP协议
  • typescript使用解构传参
  • CSP-J 2023 复赛第4题:旅游巴士
  • JAVA算法和数据结构
  • 每日五道java面试题之spring篇(七)
  • Keil编译GD32工程时找不到lib库文件
  • 测试C#使用ViewFaceCore实现图片中的人脸遮挡
  • 2.21 Qt day2 菜单栏/工具栏/状态栏/浮动窗口、UI界面、信号与槽
  • 300分钟吃透分布式缓存-16讲:常用的缓存组件Redis是如何运行的?
  • 上一篇文章补充:已经存在的小文件合并
  • 代码随想录训练营第三十期|第四十三天|动态规划 part05|1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零
  • c++学习记录 string容器—字符串插入和删除
  • 【IEEE会议征稿】2024年第九届智能计算与信号处理国际学术会议(ICSP 2024)