UI组件之弹出组件

安卓开发——UI组件之弹出组件 Toast Toast是一个消息提示组件 设置显示的位置 自定义显示内容(例如:添加一张图片) 简单封装 package com.example.zzm.helloworld; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View 阅读详情
  • Toast是一个消息提示组件
  • 设置显示的位置
  • 自定义显示的内容(图片+文本)
  • 简单封装

layout_toast自定义布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#99000000"
    android:gravity="center"
    >

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:orientation="vertical"
        android:gravity="center"
    >

        <ImageView
            android:id="@+id/iv_toast"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:scaleType="fitCenter"

            />


        <TextView
            android:id="@+id/tv_toast"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:textColor="#ffffff"
            android:layout_marginTop="10dp"
            />
    </LinearLayout>


</LinearLayout>

新建一个包util,搞一个toast的封装方法

package com.example.test0508.util;

import android.content.Context;
import android.widget.Toast;

public class ToastUtil {
    public static Toast mToast;
    public static void showMessage(Context context, String msg){
        if (mToast == null){
            mToast = Toast.makeText(context,msg,Toast.LENGTH_SHORT);
        }else {
            mToast.setText(msg);
        }
        mToast.show();
    }
}


TosatActivity以及页面布局文件

package com.example.test0508;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.test0508.util.ToastUtil;

public class ToastActivity extends AppCompatActivity {


    private Button mBtnToast1,mBtnToast2,mBtnToast3,mBtnToast4;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_toast);
        mBtnToast1 = findViewById(R.id.btn_text_toast1);
        mBtnToast2 = findViewById(R.id.btn_text_toast2);
        mBtnToast3 = findViewById(R.id.btn_text_toast3);
        mBtnToast4 = findViewById(R.id.btn_text_toast4);
        OnClick onClick = new OnClick();
        mBtnToast1.setOnClickListener(onClick);
        mBtnToast2.setOnClickListener(onClick);
        mBtnToast3.setOnClickListener(onClick);
        mBtnToast4.setOnClickListener(onClick);
    }

    class OnClick implements View.OnClickListener{

        @Override
        public void onClick(View view) {
            switch (view.getId()){
                case R.id.btn_text_toast1:
                    Toast.makeText(getApplicationContext(),"Toast",Toast.LENGTH_SHORT).show();
                    break;
                case R.id.btn_text_toast2:
                    //居中显示
                    Toast toastCenter = Toast.makeText(getApplicationContext(),"居中显示",Toast.LENGTH_SHORT);
                    toastCenter.setGravity(Gravity.CENTER,0,0);
                    toastCenter.show();
                    break;
                case R.id.btn_text_toast3:
                    //带图片
                    Toast toastCustom = new Toast(getApplicationContext());
                    LayoutInflater inflater = LayoutInflater.from(ToastActivity.this);
                    View v = inflater.inflate(R.layout.layout_toast,null);
                    ImageView imageView = v.findViewById(R.id.iv_toast);
                    TextView textView = v.findViewById(R.id.tv_toast);
                    imageView.setImageResource(R.drawable.xuegao);
                    textView.setText("雪糕啊");
                    toastCustom.setView(v);
                    toastCustom.show();
                    break;
                case R.id.btn_text_toast4:
                    ToastUtil.showMessage(getApplicationContext(),"封装好的msg");
                    break;
            }
        }
    }
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:orientation="vertical"
    >
    <Button
        android:id="@+id/btn_text_toast1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="默认"/>


    <Button
        android:id="@+id/btn_text_toast2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="改变位置"/>


    <Button
        android:id="@+id/btn_text_toast3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="带图片(自定义)"/>

    <Button
        android:id="@+id/btn_text_toast4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="封装Toast"/>
</LinearLayout>

在这里插入图片描述

jQuery UI Dialog组件实现简单的弹出层(modal) 关于jQuery UI Dialog组件实现简单的弹出层(modal) 阅读详情

相关推荐

Angular中使用Kendo UI组件的弹出窗口定位技巧

在开发Angular应用时,经常会使用到各种UI组件来增强用户体验。Kendo UI为Angular提供了丰富的UI组件库,其中组件允许用户在界面上选择颜色。然而,在使用这个组件时,可能会遇到一些定位和样式上的问题,特别是当我们需要将弹出窗口附着到组件本身上时。今天,我们将详细讨论如何解决组件的弹出窗口定位问题,并通过实际例子来说明。

2501_90323865的博客 118

高级UI组件弹窗PopupWindow的使用方法

为PopupWindow设置contentView的原因是PopupWindow没有默认布局,不能像对话框AlertDialog那样,只用简单地设置一个Title就可以弹出一个方框。因此PopupWindow的布局必须由开发者亲自设置。

Austin的博客 1153

记录让Element-UI的ElPopover组件支持鼠标右键弹出

因此需要修改此文件:element-ui.common.js。

开源低代码平台-Microi吾码-框架C#.NET8 + Vue3 329

UI组件--弹出组件

Toast Toast是一个消息提示组件 实例化的方法 得到一个Toast的两种方法: 新建 Toast toast = new Toast(context); 调用静态方法makeText toast = Toast.maleText(context,“MSG”,Toast.LENGTH_SHORT); 注意这两种方式都能获得toast对象,但是两种方法需要的参数不同,第一种方式需要另外...

zhyue28的博客 304

星光、黑光、全彩夜视摄像头技术解析与实战选型指南

本文深入解析了星光、黑光、全彩与红外等主流夜视摄像头技术的工作原理与核心差异。针对不同监控场景与预算,提供了实战选型指南,帮助用户在安防项目中做出明智决策,实现夜间监控效果最大化。

weixin_29179311的博客 348

DTS中video-interfaces接口详解

视频数据管道通常由外部设备组成,例如通过I2C、SPI或UART总线控制的摄像机传感器,以及SoC内部IP块(包括视频DMA引擎和视频数据处理器)。 SoC内部块由DT节点描述,与其他SoC块放置方式类似。外部设备表示为它们各自总线控制器节点的子节点,例如I2C。 所有视频设备上的数据接口都由它们的子“port”节点描述。端口的配置取决于参与数据传输的其他设备,并由“endpoint”子节...

龙图腾的博客 9008

弹窗组件

需求说明: 1,点击页面按钮,弹出窗口; 2,要有半透明背景遮罩; 3,弹出窗口圆角。窗口半透明,但内容不透明;带阴影; 4,窗口可拖动; 5,拖动停止之后,滚动页面时窗口位置不动。CSS呼吸效果.popUpb_b_s{ display:block;width:33px;padding:20px;margi

前端向朔 1321

【LLM】ms-Swift框架下SFT与GRPO协同优化的高效训练策略

本文深入探讨了ms-Swift框架下监督微调(SFT)与群组相对策略优化(GRPO)的协同训练策略,提升大型语言模型(LLM)的性能与效率。通过创新的架构设计和两阶段训练流程,结合GRPO的群组奖励估计与动态基线调整技术,显著优化了数学推理等任务的准确率。文章还分享了计算资源高效利用和参数调优的实战经验,为LLM训练提供了实用指导。

green的博客 994

Melt UI 弹出层组件对比:Popover、Tooltip和Link Preview的使用场景

Melt UI 是一个为 Svelte 设计的无头、可访问的组件构建器集合。在 Melt UI 的丰富组件库中,弹出层组件是使用频率最高的功能之一。本文将深入对比三个主要的弹出层组件:Popover、Tooltip 和 Link Preview,帮助开发者理解它们的使用场景和区别。 ## 什么是 Melt UI 弹出层组件? Melt UI 提供了一系列无头组件构建器,允许开发者创建完全自定义

gitblog_00481的博客 943

全网最全医学图像数据汇总

本仓库汇总了多个领域的医学图像开源数据集,涵盖CT、MRI、超声、内窥镜、病理、多模态、PET、OCT以及皮肤镜等多种成像技术。每个数据集均详细列出了任务类型、部位、格式、数量及下载链接,旨在为医学图像研究者提供便捷的资源导航。⚠️:这些数据集仅适用于学术研究用途。

2401_83173765的博客 3319

新能源知识库(98)SOC曲线介绍

​:一条异常的健康SOC曲线,往往能提前反映出电池性能的衰退或系统存在的隐患。BMS和EMS通过实时跟踪SOC值,能在电池电量过高(如>95%)时停止充电,电量过低(如<20%)时停止放电,从而避免因过度充放电引发的。​:OCV-SOC曲线上较为平坦的部分(例如,磷酸铁锂电池通常在20%-80% SOC范围)。​:在光伏、储能、电网协同的系统中,SOC曲线是能量调度的核心依据。​:电池的寿命很大程度上取决于它的工作方式。​:利用电池静置后电压与SOC的对应关系来估算,较准确但需要电池静置,无法实时使用。

竹君子之家 924

element-UI 弹出外部组件

宝贵的开发经验,请加倍珍惜!因为整个百度,可能只有我发现并解决了这个问题。 本次弹框以“弹出表格为例”。 看效果图: 看代码: StuAndCou.vue <el-button @click="addStudent" type="success" round icon="el-icon-check">添加学生</el-butto...

wcdunf的博客 7210

华为数通方向HCIP-DataCom H12-831题库(多选题:121-140)

华为数通HCIP H12-831多选题

didiplus 1291

第三章 UI组件之弹出组件【Android基础学习】

第三章 UI组件之弹出组件【Android基础学习】

小心星的博客 1086

【网络安全 | 渗透工具】Githack工具安装及使用教程详析

本文仅分享Githack工具基本安装及使用相关知识不承担任何法律责任。Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代码库。然而,在配置不当的情况下,可能会导致.git文件夹被直接部署到线上环境中,这可能会导致Git泄露问题。可通过githack下载泄露的Git存储库,以获取包含未加密密码、凭据和敏感信息的站点代码库。使用githack下载Git存储库的方法有两种。本文仅分享。

等风来 3万+

SAP UI5 主题设置全解析:从启动参数到运行时切换、跨域白名单与事件监听

SAP UI5主题体系深度解析:从配置到切换的完整指南 摘要:SAP UI5主题机制远不止CSS换肤,其工程化实践涵盖启动配置、运行时API切换、跨库路径映射及安全管控等关键环节。通过bootstrap标签或URL参数设置初始主题,运行时可用Theming.setTheme无刷新切换。自定义主题需配置theme-roots路径,跨域加载需声明sap-allowed-theme-origins白名单。主题切换完成后会触发applied事件,适合执行视觉同步操作。该体系支持多品牌适配、集中式主题管理,在Fior

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 327

Element UI弹出层组件:Popover、Tooltip、Popconfirm

Element UI作为基于Vue.js 2.0的Web UI工具包,提供了三种常用的弹出层组件——Popover(气泡弹出框)、Tooltip(文字提示)和Popconfirm(确认弹出框)。这些组件在交互设计中承担着不同角色,却又共享相似的实现逻辑。本文将深入剖析三者的技术架构、使用场景与实现差异,帮助开发者精准掌握弹出层组件的设计精髓。 ## 组件架构与核心文件 ### 组件关系图谱 ...

gitblog_00757的博客 716

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

探索 `material-ui-popup-state`:简化弹出组件管理的利器

探索 material-ui-popup-state:简化弹出组件管理的利器 在现代Web应用开发中,弹出组件(如菜单、弹出框、气泡提示等)的使用频率越来越高。然而,管理这些组件的状态和事件处理往往需要大量的样板代码,增加了开发的复杂性。为了解决这一问题,material-ui-popup-state 应运而生。本文将详细介绍这一开源项目的功能、技术特点以及应用场景,帮助开发者更好地理解和使用它。...

gitblog_00161的博客 998

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

element-UI 弹出组件dialog的遮罩层在弹出层的上面 - 解决篇

element-UI 弹出组件的遮罩层在弹出层dialog模态框的上面? bug演示: 解决办法: 将dialog组件剪贴到最父级div元素之下,以“子一级元素”的方式去定义设置。多半可以解决上述问题。 以上就是关于“ element-UI 弹出组件dialog的遮罩层在弹出层的上面 - 解决篇 ” 的全部内容。 ...

草巾冒小子的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

element-ui弹出组件的遮罩层在弹出层el-dialog的上面

问题:加完el-dialog后,测试发现,遮罩层在弹出层上面。 解决办法: 1、给el-dialog的父元素添加z-index属性,一定要比遮罩层的大 z-index:2000//此为样例 2、如果第一个办法还是不能解决,我们就用第二个办法。 出现这个状态的原因: 可以检查下我们的代码布局样式,在dialog的组件外层div我们设置了 position:absolute 属性,这个属性导致遮罩层会在最上面。 解决办法: 在dialog的组件内加上这段代码 :append-to-body=“true”

岁末zzz的博客 7169

Floating UI箭头组件:打造专业级弹出框的终极美化方案

Floating UI是一个强大的JavaScript库,专门用于精确定位浮动元素并为其创建交互效果。在众多功能中,箭头组件无疑是提升用户体验的关键利器,它能让你的弹出框、工具提示和下拉菜单看起来更加专业和精美。🚀 ## 为什么需要箭头组件? 在现代化Web应用中,弹出框、工具提示和下拉菜单无处不在。一个设计精良的箭头不仅能够: - **明确指示关系**:清晰展示浮动元素与触发元素之间的关联

gitblog_00096的博客 1046

解决autofit.js与UI组件库弹出层定位错位问题

在使用autofit.js进行页面自适应缩放时,开发者经常遇到与主流UI组件库(如Ant Design、Element UI等)的弹出层组件(如Popover、Dropdown、Select等)定位错位的问题。这是由于autofit.js通过transform的scale属性对整个页面进行缩放,而UI组件库的弹出层定位计算未考虑这一缩放因素导致的。 ## 问题分析 当autofit.js对页面...

gitblog_07003的博客 788

HarmonyOS:不依赖UI组件的全局自定义弹出框 (openCustomDialog)

推荐使用UIContext中获取到的PromptAction对象提供的openCustomDialog接口在相对应用复杂的场景来实现自定义弹出框,相较于CustomDialogController优势点在于页面解耦,支持动态刷新。

ChinaDragon10的博客 1031
上一篇: Android之WebView
下一篇: Android之AlertDialog对话框
周末的丢
博客等级 码龄7年 197粉丝 331原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值