最近玩支付宝,有时候打开时,会从顶部掉下一个营销的广告窗口,效果图如下
分析:
1.从顶部往下掉,一个位移动画
背景半透明
首页构建广告界面
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#78666666"> <FrameLayout android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/adArea" android:orientation="vertical" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@+id/closeIcon" android:src="@drawable/close" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/adContent" android:src="@drawable/adcontent" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </FrameLayout> </FrameLayout>
用到的动画,顶部掉下来fade_in.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="1000" android:fromYDelta="-100%" android:toYDelta="0" /> <alpha android:startOffset="500" android:fromAlpha="0" android:toAlpha="1" android:duration="1000"/> </set>
退出时动画fade_out.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:fillBefore="false"> <translate android:duration="2000" android:fromYDelta="0" android:toYDelta="-100%" /> <scale android:startOffset="800" android:pivotX="0%" android:pivotY="0%" android:fromXScale="1" android:toXScale="0" android:fromYScale="1" android:duration="1000" android:toYScale="0"> </scale> </set>
启动Activity
package com.example.exportgradledemo; import android.app.Activity; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.view.WindowManager; import android.widget.Button; import android.widget.PopupWindow; public class Main3Activity extends Activity { private android.widget.Button button; private PopupWindow popupWindow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3); this.button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showPopupWindow(); } }); } /** * 微信分享弹框 */ private void showPopupWindow() { if (popupWindow == null) { LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = layoutInflater.inflate(R.layout.popad_layout, null); popupWindow = new PopupWindow(view, LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT); } popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.setAnimationStyle(R.style.AnimationPreview); // 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景 popupWindow.setBackgroundDrawable(new BitmapDrawable()); WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); popupWindow.showAtLocation(findViewById(R.id.screen_content_layout), Gravity.BOTTOM, 0, 0); } }
相关推荐
在很多场景下,我们可能希望这个进度条不仅仅局限于一个固定的位置,而是能够根据进度动态地显示在屏幕上的特定位置,比如作为提示用户操作正在进行的Popwindow。本文将深入探讨如何自定义一个跟随进度的Popwindow。...
在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种浮现在当前Activity之上的窗口,用于显示临时的信息或者提供交互操作。本资源“安卓popupwindow相关-Android--PopWindow的使用.rar”包含了关于...
在这个案例中,我们关注的是一个名为"简单仿支付宝Popwindo弹出框控件"的项目。这个控件是为模拟支付宝的密码支付弹出窗口而设计的,它提供了与支付宝官方应用相似的交互体验,同时保持了代码的简洁性和可读性。 ...
在Android开发中,`PopupWindow`是一个非常实用的组件,常用于实现各种临时弹出窗口,比如顶部筛选、下拉菜单、悬浮按钮等。本文将详细介绍如何使用`PopupWindow`来简单实现一个顶部筛选功能,并探讨相关的设计和...
仿微信加号popwindow和qqpopwindow下拉实现
- 适当地处理`PopWindow`的消失,避免内存泄漏,例如在`onPause()`或`onDestroy()`中取消监听和释放资源。 - 如果`Fragment`需要保存状态,可以重写`onSaveInstanceState()`和`onActivityCreated()`方法。 综上所...
本文将详细介绍如何在Android中实现一个仿美团PopWindow的下拉筛选组件,以及如何通过点击Tab属性来显示筛选条件。 首先,我们来理解`PopWindow`。`PopWindow`是Android中的一个非常实用的组件,它可以在屏幕上的...
本篇将详细介绍如何在Android中实现一个仿美团的下拉查询列表组件,主要涉及`DropDownMenu`的实现方式,以及如何通过`popwindow`来构建这一功能。 首先,`DropDownMenu`是一个可折叠的菜单,通常隐藏在屏幕顶部或者...
在Android应用开发中,"PopWindow中加载EditText动态评论仿今日头条"是一个常见的需求,它涉及到UI设计、事件处理以及自定义视图等多个方面。今日头条作为一款新闻资讯类应用,其评论功能是用户互动的重要环节,而...
在res/layout目录下,新建一个XML文件来定义PopWindow的内容,比如`popup_window.xml`: ```xml xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:...
在Android开发中,`PopWindow`和`ListView`是两个常用组件,它们分别用于实现弹出窗口和列表显示。在本项目中,"popwindow+listview"的封装结合了两者的优势,创建了一个可定制化的下拉菜单或者悬浮窗口,其中包含了...
内含的补充文档和集成说明将提供更详细的步骤和注意事项,可能包括如何在不同场景下使用PopWindow,如何处理触摸穿透问题,以及如何与其他组件(如Adapter)协同工作。在阅读和实践这些内容时,开发者应特别关注兼容...
仿微信加号和qq扫一扫的Popwindow菜单栏
在Android开发中,Dialog对话框是一种常见的用户交互方式,它用于在主界面之上显示一个临时性的视图,向用户展示信息或请求用户做出选择。在本压缩包中,"安卓Dialog对话框相关-自定义单选多选对话框及popwindow窗口...
1. **创建布局资源**:在res/layout目录下创建XML文件,设计你想要的PopWindow界面。可以包含各种View组件,如ImageView、TextView、Button等,根据需求定制布局样式。 2. **创建PopWindow对象**:在代码中,通过...
在Android应用开发中,PopWindow是一个非常重要的组件,它用于创建弹出式窗口,通常用于显示临时信息或者作为用户交互的辅助元素。本项目“Android应用源码之PopWindow”是一个针对毕业设计的学习Demo,旨在帮助学生...
在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种类似对话框的效果,但比Dialog更加灵活,可以自由地设置位置、大小,并且不会阻塞用户与屏幕其他部分的交互。本压缩包文件“安卓popupwindow相关-...
在这个实例中,我们将探讨如何创建一个仿微信右上角下拉菜单的`Popwindow`。 首先,我们需要了解`Popwindow`的基本结构和使用方法。`Popwindow`是`android.widget.PopupWindow`类的一个实例,它允许开发者在屏幕上...
在Android开发中,自定义屏幕截图以及PopWindow的实现是一个常用的功能,这通常涉及到用户交互、图像处理和UI设计等多个方面。以下将详细介绍这两个技术点。 1. 自定义屏幕截图: 自定义屏幕截图通常需要利用...
在Android开发中,PopupWindow是一个非常实用的组件,它能够以弹出窗口的形式展示内容,类似于iOS中的ActionSheet。在各种交互设计中,比如底部菜单、下拉选择、提示信息等,我们都能看到PopupWindow的身影。本文将...