Android开发窗口实现半透明效果

Delphi 11.3 android透明窗体,[FMX] Android 下模拟模态窗口(半透明效果) 我上面的例子只是放了一个Panel,然后放了一个 Label 和两个 SpeedButton,在第一个窗体按钮的调用这个窗口Show出来就OK。FMX的 Android 平台下没有模态窗口的概念,具体原因俺就不清楚,也不多说。点击 ShowDialog 按钮时,显示上显示了一个半透明的窗口,将背景覆盖了,然后设置了一些内容,请用户操作。Fill.Color :设置为 C8000000 ,我用的是黑色的半透明的效果。//我这里写了两行代码退出程序。//我这里写了一行代码,关闭。//我这里写了一行代码,关闭。 阅读详情

来自:http://android.tgbus.com/Android/tutorial/201106/357509.shtml


  弹出popwindow的代码如下,比较乱,多包涵:

  popupWindow = new PopupWindow(menuView, LayoutParams.FILL_PARENT,
                                  LayoutParams.FILL_PARENT, true);
                  popupWindow.showAtLocation(findViewById(R.id.parent), Gravity.CENTER
                                  | Gravity.CENTER, 0, 0);
                  popupWindow.setAnimationStyle(R.style.PopupAnimation);
                  // 加上下面两行可以用back键关闭popupwindow,否则必须调用dismiss();
                  ColorDrawable dw = new ColorDrawable(-00000);
                  popupWindow.setBackgroundDrawable(dw);
                  popupWindow.update();

  下面是实现步骤:  
  1.背景置灰:
  popupWindow = new PopupWindow(menuView, LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, true);
  第二三个参数必须是LayoutParams.FILL_PARENT,这样才能填充整个屏幕,达到背景置灰的目的。
  整个popupwindow里面是一个GridView,图片什么的也是用的那个仿UC浏览器界面项目的,在此谢谢了。
  关键的东西都在xml里面。

  <?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical" android:layout_width="fill_parent"
              android:gravity="center" android:layout_height="fill_parent"
             android:layout_gravity="center" android:background="#b0000000" >
           <LinearLayout android:orientation="vertical"
                     android:layout_width="wrap_content" android:gravity="center"
                     android:layout_height="wrap_content" android:layout_gravity="center"
                     android:background="@drawable/downbutton_corner">
                   <GridView android:id="@+id/gridview" android:layout_width="wrap_content"
                              android:layout_height="wrap_content" android:numColumns="4"
                              android:verticalSpacing="5dip" android:horizontalSpacing="5dip"
                              android:stretchMode="columnWidth" android:gravity="center"
                              android:layout_gravity="center" />
    </LinearLayout>
  </LinearLayout>

  第一个linearlayout里面的android:background="#b0000000",就是全屏背景,网上搜的好多半透明都是“#e0000000”,我觉得那颜色太深,“#b0000000”更合适。
  第二个linearlayout是popupwind的背景,里面的android:background="@drawable/downbutton_corner"是关键,边框,圆角都是里面定义的。

  2.popupwindow的边框,圆角背景。downbutton_corne.xmlpopupwindow的边框,圆角背景。

  <shape xmlns:android="http://schemas.android.com/apk/res/android"
          android:shape="rectangle">
          <gradient android:startColor="#c0000000" android:endColor="#c0000000"
                  android:angle="90" /><!--背景颜色渐变 -->
          <stroke android:dashWidth="2dp" android:dashGap="2dp"
                  android:width="2dp" android:color="#FF00ff00"></stroke>
          <!--描边 -->
          <corners android:bottomRightRadius="5dp"
                  android:bottomLeftRadius="5dp" android:topLeftRadius="5dp"
                  android:topRightRadius="5dp" /><!--设置圆角-->
  </shape>

  <gradient android:startColor="#c0000000" android:endColor="#c0000000" android:angle="90" /><!--背景颜色渐变 -->
  我就设置了一个固定的颜色"#c0000000"。android:angle="90"这个是设置颜色渐变方向,从上到下啊,从左到右啊,貌似只能90的倍数,也只有四个方向嘛。
  <stroke ></stroke>,边框就是这个实现的。
  dashWidth指的是边线的宽度 dashGap 指的是每条线之间的间距,(因为是边线是很多小横线组成的)。

  3.淡入淡出动画
  popupWindow.setAnimationStyle(R.style.PopupAnimation);
  这条代码是设置style的,动画文件就是在style文件里面引入的。下面是淡入的动画,动画教程网上也很多。淡出的动画就这些参数值交换位置就是了。android:duration这个是持续时间,为了截图,我把它弄成5秒了。

  <set xmlns:android="http://schemas.android.com/apk/res/android">
          <scale android:fromXScale="0.6" android:toXScale="1.0"
                  android:fromYScale="0.6" android:toYScale="1.0" android:pivotX="50%"
                  android:pivotY="50%" android:duration="5000" />
          <alpha android:interpolator="@android:anim/decelerate_interpolator"
                  android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="5000" />
  </set>

  还有一个关键的问题。弹出pop之后,back键无效了,必须在pop里面设置事件dismiss掉。


Android进阶之路 - popupWindow使用详解 popupWindow还是比较好用的一款控件,他不会像Dialog一样让内容与样式死板,他的优势就在于我们可以填充自己喜欢的样式;在使用中遮盖层是个不大不小的问题,本文已经解决,同时还有一些其他问题的解决方式,也都在代码中进行了注释,大家请直接往下看吧(PS:最后又惊喜,或许你想要的答案就在最后哦) 阅读详情

相关推荐

Android编程实现设置按钮背景透明与半透明及图片背景透明的方法

主要介绍了Android编程实现设置按钮背景透明与半透明及图片背景透明的方法,结合实例形式较为详细的分析了Button及ImageButton的背景属性设置技巧,非常简单实用,需要的朋友可以参考下

Android开发 设置半透明效果

设置界面半透明效果,大致有三种做法: 1)用Android系统的透明效果 2)用ARGB设置透明效果 3)设置alpha值来实现

wltop001的专栏 778

Android实现在列表List中显示半透明小窗体效果的控件用法详解

本文实例讲述了Android实现在列表List中显示半透明小窗体效果的控件用法。分享给大家供大家参考,具体如下: Android 在列表List中显示半透明小窗体效果的控件,多的不多直接上代码,要说的都在注释里了: import com.hiapk.market.R; import android.content.Context; import android.graphics.PixelFormat; import android.os.Handler; import android.view.LayoutInflater; import android.view.View; import

android开发:PopupWindow制作选择弹框

效果如下图,点击按钮弹出对话框,背景颜色是半透明 一、PopupWindow的布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="matc...

一个程序员-二白的博客 565

代码实现 —— 基于 STM32 的可见光通信系统课程设计

基于STM32F103ZET6,源码如需移植,需要修改定时器捕获通道引脚,及定时器,如果你也有这个课设任务,希望对你有所帮助。

不善挽留 1万+

腾讯股票接口API(1)——根据股票代码获取详情

获取股票简要信息,找来找去也没有找到官方的文档,都是复制粘贴的,这里先简单记录一下。 1.简要信息 以贵州茅台为例: http://qt.gtimg.cn/q=s_sh600519 // sh600519是贵州茅台的股票代码,根据自己的关键字拼接URL 可以直接在Android项目中请求,会得到如下一串字符串: v_s_sh600519="1~贵州茅台~600519~2075.95~42.95~2.11~38930~794942~~26078.04~GP-A"; 这里v_s代表简要信息,sh600519

GeofferySun的专栏 6万+

android 半透明色值_Android开发窗口实现半透明效果

弹出popwindow的代码如下,比较乱,多包涵:popupWindow = new PopupWindow(menuView, LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, true);popupWindow.showAtLocation(findViewById(R.id.parent), Gravity.CENTER| Gravity....

weixin_39523529的博客 289

STM32F103移植NuttX实战:从零搭建最小系统到串口Shell(附完整配置文件)

本文详细介绍了在STM32F103C8T6开发板上移植NuttX实时操作系统的完整过程,包括环境搭建、BSP配置、系统时钟初始化、驱动裁剪、编译烧录及串口Shell交互。通过实战指南帮助开发者快速掌握NuttX移植技巧,解决典型问题,适用于嵌入式系统开发。

tree8的博客 293

android 边框渐隐动画,Android开发窗口实现半透明效果 淡入淡出 圆角

弹出popwindow的代码如下,比较乱,多包涵:popupWindow = new PopupWindow(menuView,LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, true);popupWindow.showAtLocation(findViewById(R.id.parent),Gravity.CENTER| Gravity.CE...

weixin_42443797的博客 532

Android流畅度优化实战:从掉帧定位到布局与渲染调优

在移动应用开发中,性能优化是决定用户体验与留存率的关键环节,其中Android流畅度优化更是核心命题。用户感知的“卡顿”往往并非持续低帧率,而是由于掉帧率波动引发的偶发不流畅。本文从性能优化理论出发,系统讲解如何使用Systrace、CPU Profiler等工具定位掉帧瓶颈,深入分析布局层级过深、过度绘制、对象分配与GC压力等常见诱因。同时结合冷启动耗时、列表滚动掉帧、Bitmap加载等真实工程案例,阐述从应用层到系统层的分级优化策略,并给出低端机适配、异步化改造及线上监控体系搭建的实践方案。内容覆盖布局

weixin_29185493的博客 201

张量/数组存储方式与向量化展开/展平、view、reshape、permute对比

对于一个Tensor来说,我们可以认为它有两种存储方式。

欢迎关注,共同进步! 3434

将activity设置成窗口模式

有时候在项目中会遇到某些需求使得我们需要将activity设置成窗口模式,那么要怎样才能将activity设置成窗口模式呢?又要怎样解决设置这个窗口的大小以及设置窗口外部半透明效果等问题呢?很简单,你只要这样做: 1、首先在Manifest下将对应的activity的主题设置成android:Theme="@android:style/Theme.Dialog"完成这一步我们就将activity

Yzw_92_4_11的博客 1万+

训练救星!EMA多尺度注意力让YOLOv11轻松攻克自定义数据集不涨点难题

在目标检测模型训练中,自定义数据集不涨点是阻碍算法落地的核心痛点之一。传统训练策略在数据分布特殊、样本量有限的场景下极易陷入收敛停滞,而 EMA(指数移动平均)结合多尺度注意力的方案,在自定义数据集上实现mAP 提升 6.5%,同时让训练曲线从“平缓停滞”转为“持续攀升”,彻底解决创新点在自有数据上的性能瓶颈。本教程将带你从原理到实践,通过 EMA 多尺度注意力为 YOLOv11 注入训练稳定性,让你的自定义数据集模型训练实现质的飞跃。EMA 衰减率:小样本数据集建议将decay。

FJN110的博客 160

android 半透明工具栏,Android 状态栏虚拟导航键透明效果的实现方法

状态栏和虚拟导航键 4.4上半透明,5.0以上可以全透明先上效果4.4 半透明效果5.0及以上 全透明效果上代码MainActivity代码public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(s...

weixin_39603117的博客 259

深度学习在地质勘探中的应用:使用Python构建卷积神经网络进行地震数据分析

在本文中,我们介绍了如何利用深度学习技术,特别是卷积神经网络(CNN),来处理和分析地震数据。我们使用了Python编程语言和TensorFlow框架构建了一个CNN模型,并使用地震数据进行了训练和评估。在本文中,我们将探讨如何利用深度学习技术,特别是卷积神经网络(CNN),来处理和分析地震数据。首先,我们需要获取地震数据集。通过本文的介绍,希望您能对深度学习在地质勘探领域的应用有更深入的了解,并能够应用这些技术来解决实际问题。在准备好地震数据和构建CNN模型后,我们需要将数据分为训练集和测试集。

斌擎科技 1472

〔重庆理工大学〕大学物理实验--液体表面张力系数的测定

每个老师要求不同,实验报告内容和数据仅供参考。

Pretty Boy Fox的博客 2802

设置透明、半透明等效果

00:  全透明 ff:完全不透明 计算透明度, 如30%透明,则转换为70%不透明,然后255*0.7计算 不透明度16进制值 不透明度 16进制值 100% FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3

u012185738的专栏 560

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Activity透明/半透明效果的设置transparent(两种实现方法)

Activity透明/半透明效果的设置transparent(两种实现方法) 作者: 字体:[增加 减小] 类型:转载 http://www.jb51.net/article/34298.htm 两种方法实现Activity透明/半透明效果的设置,代码思路很有调理,感兴趣的朋友可以参考下,希望本文可以帮助到你 方法一: res/values

Navagate的专栏 810

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

android虚拟键透明,Android 状态栏虚拟导航键透明效果的实现方法

状态栏和虚拟导航键 4.4上半透明,5.0以上可以全透明先上效果4.4 半透明效果5.0及以上 全透明效果上代码MainActivity代码public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(s...

weixin_39576751的博客 600

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android Activity之间跳转出现短暂黑屏的处理方法(转)

xml version="1.0" encoding="utf-8"?> resources>            style name="activityTheme" parent="@android:style/Theme">          item name="android:windowIsTranslucent">trueitem>      style>  resources>

asssasharp的专栏 1031

PopupWindow

事实证明:popupwindow出现是很麻烦的,要符合好几个条件 1.要有触发源,比如按键监听器啦,gesture监听器啦,这里参考别人代码,用idle的loop循环作为监听器,这个选择8错,因为视频播放器不可能让用户按键后出现视频控制按键 2.popupwindow的showatlocation和update都要调用?,看源码showatlocation只是指明了popupwindow到底要

三少GG 3550

解决android APP启动时白屏的问题

修改application主题 &lt;style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"&gt; &lt;item name="android:windowIsTranslucent"&gt;true&lt;/item&gt; &lt;/style&gt;  

yann02的博客 1423

[Qt] 界面美化 [2013-06-17更新](转载)

- 经验总结1. 可用对话框(QDialog)模拟类似Android中toast的效果。 - 设置程序界面风格在main函数中QApplication::setStyle("windows");QApplication::setStyle("windowsxp");QApplication::setStyle("motif");QApplication::setStyl...

aisu3043的博客 203

视频直播源码,将Activity设置成透明窗口且淡入淡出

视频直播源码,将Activity设置成透明窗口且淡入淡出的相关代码 1.创建淡入淡出的动画文件 <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0" android:toAlpha="1" android:duration="200" android:fillA

云豹网络科技 187
上一篇: Androi系统设置Table
下一篇: Android 动态生成控件
shareCode
博客等级 码龄15年 125粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值