使用Activity做弹窗

activiti绘制流程图,线上显示文字,审批过的节点添加审批人的名字 最有时间优化了一下activiti的绘制图片工具类,主要用于在领导审批的时候展示的漂亮,直接上代码吧, /** 放在我们的业务代码中,穿个流程实例id进来,返回一个字符数组,然后该怎么处理你们应该知道怎么做了吧 */ public byte[] getImage(String processInstanceId) throws ServiceRuntimeException { try... 阅读详情

弹窗的实现形式有很多种,eg:Dialog、PopupWindow等。
今天跟大家写一个使用Activity实现的弹窗。

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="280dp"
              android:layout_height="190dp"
              android:background="@drawable/shape_avatar_change_bg"
              android:orientation="vertical"
              android:weightSum="14">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4"
        android:gravity="center"
        android:text="@string/changeAvatar"
        android:textColor="@color/status_color"
        android:textSize="16sp"/>

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/status_color"/>

    <TextView
        android:id="@+id/tv_take_photo"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="5"
        android:background="@drawable/seletor_bg_setting_item"
        android:gravity="center"
        android:text="@string/takePhoto"
        android:textColor="@color/light_black_color"
        android:textSize="16sp"/>

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/layout_divider_color"/>

    <TextView
        android:id="@+id/tv_chose_gallery"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="5"
        android:background="@drawable/seletor_bg_setting_item"
        android:gravity="center"
        android:text="@string/choseFromGallery"
        android:textColor="@color/light_black_color"
        android:textSize="16sp"/>
</LinearLayout>

跟一般的activity布局一样,唯一的区别就是需要写死根布局的宽高,嗯……我还没有找到更优雅的写法……

Activity:

public class ChangeAvatarActivity extends Activity {

    private static int CAMERA_REQUEST_CODE = 1;
    private static int GALLERY_REQUEST_CODE = 2;
    private static int CROP_REQUEST_CODE = 3;

    private TextView tvFromGallery;
    private TextView tvTakePhoto;
    private File img;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.avatar_revise_activity);

        initViews();
    }

    private void initViews() {
        tvTakePhoto = (TextView) findViewById(R.id.tv_take_photo);
        tvFromGallery = (TextView) findViewById(R.id.tv_chose_gallery);

        //拍照
        tvTakePhoto.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });
        //从相册选
        tvFromGallery.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        finish();//点击窗口外部区域 弹窗消失
        return true;
    }

}

这里点击外部区域 弹窗消失 写的比较粗暴…… 但是因为给需要点击的区域加了点击事件 所以不会有影响。

下面关键的部分来了:
在 manifest文件中

<activity
     android:name=".activity.ChangeAvatarActivity"
     android:theme="@style/MyDialogActivityStyle"/>

style:

  <style name="MyDialogActivityStyle">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>

解释一下:

<item name="android:windowBackground">@android:color/transparent</item>
  • 设置背景色
<item name="android:windowFrame">@null</item>
  • 设置windowFrame框 这里不显示
<item name="android:windowIsFloating">true</item>
  • 是否浮现在activity之上(底部的activity)
<item name="android:windowIsTranslucent">true</item>
  • 窗口是否半透明 配合背景色使用
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
  • 窗口弹出样式
<item name="android:backgroundDimEnabled">true</item>
  • 是否设置背景模糊
<item name="android:windowContentOverlay">@null</item>

*弹窗是否有遮盖 不设置的话有可能会出现边界黑线

有问题欢迎留言提出,之后会用这种方法 写一个更换头像的demo 请看后边的博文

Android使用Activity实现从底部弹出菜单或窗口的方法 本文实例讲述了Android使用Activity实现从底部弹出菜单或窗口的方法。分享给大家供大家参考,具体如下: 这里使用activity实现弹出滑动窗口或菜单,主要是使用了一些设置activity的样式来实现弹出窗口和滑动效果,实现如下: 第一步:设计要弹出窗口的xml布局: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width=fill_parent andr 立即下载

相关推荐

树莓派 SPI操作

扩展板配备一款0.96inch,128864分辨率的oled显示屏,通过SPI控制,先上显示效果图。由于程序过长,在这里我就不把代码全部贴出来了,只是简单讲解一下spi的操作函数。管脚如下如所有,左边方框的管脚分别为MOSI MISO SCLK,左边CE0,CE1为两个片选管脚,分别对应上图中的spidev0.0,spidev0.1两个设备。下载spidev库,复制到树莓派,并行运行如下命令解压安装。spi设备,此处设备为/dev/spi-decv0.0。在/dev路径下面,我们可以发现两个spi设备。

weixin_46529898的博客 914

activity实现弹窗dialog效果

实现弹窗效果 这一小节我将教大家使用activity 实现弹窗效果,只需要改activity的主题可实现弹窗效果 方式1 效果图 在style.xml文件中加入如下代码 <style name="dialog_style" parent="@style/AppTheme"> <!--是否悬浮在activity上--> <item na...

qinxuexiang_blog的博客 3240

FreeModbus V1.6主机模式实战:如何在STM32上实现Modbus RTU主从一体通信

本文详细介绍了如何在STM32平台上利用FreeModbus V1.6开源协议栈实现Modbus RTU主从一体通信。文章深入剖析了V1.6版本主机模式的架构设计,提供了从硬件配置、串口与定时器移植到FreeRTOS操作系统适配的完整实战指南,并分享了数据缓冲区管理、多线程协同及高级调试技巧,为构建稳定可靠的工业通信网关提供了系统化解决方案。

weixin_29194255的博客 372

用Activity实现弹窗

其实用dialog是最方便的,但组长说不想在一个Activity里写太多代码,原来的代码已经很乱了。。。没办法,前人留下的代码的确有点多,新加的只能在另外的Activity里写了,而且,它在这个弹窗里加的操作也太多了吧,有谁会在一个弹窗里又加列表,又加viewPager又加按钮的?咱也不敢说,咱也不敢问。业务逻辑这里就不写了,简单记录一下自己用Activity实现的弹窗效果吧。 其实大家都是窗口...

ALee_130158的博客 1033

第二章-Ethernet/IP基本概念

在I/O连接中,一旦连接建立,就不会有请求-响应数据,只会按照连接建立时指定的生产触发器所确定的时间间隔生产和消耗带有ConnectionID的数据。连接是通过连接管理器对象的Forward请求服务建立的,ForwardOpen请求包含所有连接参数,包括传输类、生产触发器、定时信息、电子密钥和连接ID。I/O适配器:I/O适配器从I/O扫描器接收隐式通信连接请求,然后以请求的速率生成I/O数据。I/O扫描器:启动与I/O适配器的隐式通信,需要处理连接的配置以及如何配置适配器。扫描器还支持启动显式报文。

_Nooice的博客 1233

Star CCM+ 202206 (17.04) 详细安装步骤

StarCCM+ 17.04 安装包和详细安装步骤

薛定谔的alpha狗 3万+

Android 开发viewBinding使用及其需要注意的事项(Activity做弹窗Dialog)

如果你要用Activity做全局弹窗(dialog)之类的,正确的写法(如果还是要用viewBinding)——如果布局文件是:activity_main.xml。这么写会导致这两句无效——

weixin_44917215的博客 1163

电力电子技术进阶:从基础到实战的完整学习路径

本文系统阐述了电力电子技术从基础到实战的完整学习路径。首先解析了电力电子作为“电能魔术师”的核心作用,随后深入剖析了数学工具、电路电磁场与半导体器件三大基础支柱。文章重点讲解了DC-DC、DC-AC、AC-DC等核心变换拓扑,并探讨了从经典PID到现代模型预测控制(MPC)的控制策略。最后,分享了硬件设计、软件调试、电磁兼容(EMC)等实战经验与前沿趋势,为学习者提供了清晰的进阶指南。

weixin_29204205的博客 446

PopupWindow、Activity做伪弹窗

1. PopupWindow

ymangu的专栏 3221

ESP32与BH1750光照传感器结合使用的Web服务器案例

请注意,为了使代码正常工作,你需要将代码中的"你的WiFi网络名称"和"你的WiFi网络密码"替换为你自己的WiFi网络凭据。在代码中,我们首先导入了所需的库文件,包括Wire库用于I2C通信,BH1750库用于与光照传感器通信,WiFi库和WebServer库用于创建Web服务器。接下来,我们将编写一个Arduino代码来控制ESP32与BH1750的通信,并将读取到的光照强度值显示在Web服务器上。函数用于处理根路径的请求,其中我们读取光照传感器的值,并将其显示在返回的HTML页面中。

server_api196的博客 617

34、实数域上高效负循环卷积算法解析

本文介绍了一种高效的实数域负循环卷积算法,通过引入离散傅里叶负循环变换(DFNT)避免传统方法的冗余,显著提升计算效率。文章详细分析了算法原理、误差传播机制,并推导出误差与方差界,提出无误差和基于3σ规则的参数设置方案。结合Cooley-Tukey与Gentleman-Sande FFT路径优化,实验验证了算法在不同精度和多项式长度下的性能优势与结果正确性,为密码学与信号处理等领域提供了高精度、高性能的卷积计算解决方案。

salt的博客 114

用xpopup做弹窗

摘要:本文介绍了Android开发中使用XPopup库实现弹窗功能的方法。首先通过添加Gradle依赖安装XPopup库,然后展示两种弹窗实现方式:1) 自定义布局的底部弹窗(BottomPopup),包含标题和关闭按钮;2) 代码创建的简易确认弹窗(msgPop)。文中提供了XML布局示例和Java代码实现,包括弹窗初始化、内容设置和点击事件处理。测试效果表明,该方法可以灵活创建带模糊背景和动画效果的自定义弹窗,适用于不同交互场景。

chuyouyinghe的专栏 306

基于电能质量治理的场景实例:统一电能质量调节器(UPQC)与并网逆变器集成

本文通过Simulink平台,详细演示了统一电能质量调节器(UPQC)与并网逆变器的集成系统建模与仿真过程。主要内容包括:1)系统架构设计,包含光伏并网系统、非线性负载和电压扰动源;2)UPQC主电路设计,包括串联/并联单元拓扑和控制策略实现;3)与并网逆变器的能量交互与协同控制逻辑;4)典型电能质量问题的仿真测试场景。结果表明,该集成系统能有效治理电压暂降(维持负载电压380V±2%)和电流谐波(电网THD<3%),直流母线电压稳定在800V±5V。该系统为应对复杂电能质量问题提供了"电压

xiaoheshang_123的博客 309

弹窗风格的 Activity

弹窗也使用我们熟悉的Activity来实现。

Alpinist Wang 2902

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

简单,方便的弹窗——用activity做伪弹窗

弹窗效果,我们基本上每个项目都会用到,有时候数据太多了弹窗不好保存,这个时候就可以用activity做伪弹窗了,里面的操作就和普通的activity一样的。看代码: name="MyDialogStyle"> name="android:windowBackground">@android:color/transparent name="android:windowFram

小李的博客 5071

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android:使用Activity制作中间弹窗

使用Activity制作中间弹窗 前言 使用activity制作弹窗的好处就是,自由发挥的余地更大了。匆匆的用activity制作了中间弹窗的小demo,没有重写activity显示和消失的动画,圆角没有添加。上班太忙了,有空再补上。先看看效果图吧。希望有人能用得上。 布局文件 activity_dialog.xml &amp;amp;lt;LinearLayout xmlns:android=&amp;quot;http:/...

重庆李四 5181

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

如何判断 Activity 上有弹窗

今天来看个需求,如何判断 Activity 上面是否有弹窗,当然,简单的方式肯定有,例如在 Dialog show 的时候记录一下,但这种方式不够优雅,我们需要一款更通用的判断方式。Android 目前的弹窗有如下几种:1. 普通的应用窗口,如 Dialog。2. 附加与普通窗口的子窗口,如 PopWindow。3. 系统窗口,如 WindowManager type 在 FIRST_SYSTEM_WINDOW 与 LAST_SYSTEM_WINDOW 之间。

chuyouyinghe的专栏 4632

将Activity设置成透明的或者弹窗形式

实现Activity的两种自定义属性: 1.将Activity的背景设置成透明的或者是半透明的,这样可以看到Activity之下的界面显示的是什么但是不能点击。 实现全透明: 首先在styles.xml中添加全透明的style: style name="myTransparent" parent="@android:style/Theme.Translucent.NoTitleBar"

赵小样Jasmine的博客 1万+

使用PopupWindow和Activity两种不同的方式实现弹窗效果

分别使用PopupWindow和Activity两种不同的方式来实现仿微信顶部标题栏弹窗的这样一个效果。 一、实现效果图 这里为了演示方便,我将两种方法放在一个应用程序中演示,这个是主界面 虽然两种实现的方式不一样,但是最终的效果图都是差不多的 二、项目结构图 三、详细的编码实现 3.1 主界面的实现 为了演示方便,我这里把

成长的味道 1294

Activity做伪弹窗

Activity做伪弹窗 此牛人写的是防微信的demo。做的相当好,我在后面附上优快云免费下载链接。 先贴上java代码——Exit.java 1 package cn.buaa.myweixin; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.

Lemongrass_GCQ的博客 711

Android中如何判断当前Activity是否在界面上显示(使用广播在当前显示界面弹窗)

目录1.背景2.遇到的问题3.需求最终解决方案 1.背景 在项目中遇到一个这样的需求:当服务器发来请求弹窗信号后,要在当前界面弹出一个对话框。 2.遇到的问题 1)重复弹窗 做法: ​ 定义1个BaseActivity,然后所有的Activity都继承于BaseActivity,当收到服务器请求弹窗信号后,发送请求弹出对话框的广播;然后在BaseActivity中注册该条广播,并在广播接收器的onReceive()方法中去弹出对话框 问题现象:重复弹窗 ​ 当由AActivity跳转到BActivity

王小泥的成长之旅 4529

Android使用Activity用作弹出式对话框

Android中可用于实现对话框的有Dialog,PopupWindow,Activity。 下面简单介绍下,Dialog比较方便,但是显示位置比较固定,有时不能满足我们的需求。 例子:(消除了背景) [html] view plaincopy resources>       style name="dialog" parent=

青涩丶年华 568

android中实现以activity作为弹窗的形式

android中实现以activity作为弹窗的形式

qq_36570506的博客 1787

透明的或者弹窗形式的Activity

将Activity的背景设置成透明的或者是半透明的,这样可以看到Activity之下的界面显示的是什么但是不能点击。 实现全透明: 首先在styles.xml中添加全透明的style:         @color/transparent       @null       true       true 无标题 -->      @null   其中,@color

u013303600的博客 682

android-弹窗

方案:定义语音控制事件处理接口,当前获焦时,才可消费语音控制事件。若需Activity保持可操作,需显式设置。标志或使用无焦点PopupWindow。此时Activity和Dialog可。(仅限Dialog)

summerkissyou1987的专栏 1061
上一篇: Android获取手机/SD卡内存空间使用情况
下一篇: Android OkHttp完全解析 是时候来了解OkHttp了
Z漫步
博客等级 码龄12年 42粉丝 80原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值