CzTestActivity.java:
package com.weijie.user.activity; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.PopupWindow; import android.widget.TextView; import com.weijie.user.R; public class CzTestActivity extends Activity { private TextView mybut = null; // 定义按钮 private PopupWindow popWin = null; // 弹出窗口 private View popView = null; // 保存弹出窗口布局 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.cztest_main); // 调用布局管理器 this.mybut = (TextView) super.findViewById(R.id.mybut); // 取得按钮 this.mybut.setOnClickListener(new OnClickListenerImpl()); // 设置事件类 } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View view) { LayoutInflater inflater = LayoutInflater.from(CzTestActivity.this); // 取得LayoutInflater对象 CzTestActivity.this.popView = inflater.inflate( R.layout.cztest_popwin, null); // 读取布局管理器 CzTestActivity.this.popWin = new PopupWindow(popView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, true); // 实例化PopupWindow // 设置PopupWindow的弹出和消失效果 CzTestActivity.this.popWin .setAnimationStyle(R.style.popupAnimation); CzTestActivity.this.popWin.showAtLocation( CzTestActivity.this.mybut, Gravity.BOTTOM, 0, 0); // 显示弹出窗口 } } }
cztest_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/mybut" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="测试按钮" /> </LinearLayout>
cztest_popwin.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <View android:id="@+id/transparent" android:layout_width="fill_parent" android:layout_height="15dp" android:background="#00ffffff" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/transparent" android:background="#ffffff" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="5dp" android:text="性别修改" android:textColor="#000000" android:textSize="18sp" /> <View android:layout_width="fill_parent" android:layout_height="1px" android:background="#000000" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="5dp" android:text="男" android:textColor="#000000" /> <View android:layout_width="fill_parent" android:layout_height="1px" android:background="#000000" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="5dp" android:text="女" android:textColor="#000000" /> </LinearLayout> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:src="@drawable/popwin_close" /> </RelativeLayout>
<style name="popupAnimation" parent="android:Animation"> <item name="android:windowEnterAnimation">@anim/pop_in</item> <item name="android:windowExitAnimation">@anim/pop_out</item> </style>
pop_in.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="80%p" android:toYDelta="0" android:duration="1500" /> </set>
pop_out.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="0" android:toYDelta="80%p" android:duration="1500" /> </set>
注:下面附上从右往左的动画代码:
//values/styles.xml <resources> <style name="mystyle" parent="android:Animation"> <item name="@android:windowEnterAnimation">@anim/dialog_enter</item> <!--进入时的动画 --> <item name="@android:windowExitAnimation">@anim/dialog_exit</item> <!-- 退出时的动画 --> </style> </resources> //anim/dialog_enter.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- %p指相对于父容器 android:fromYDelta="100%p" android:toXDelta="100%p"--> <translate android:duration="600" android:fromXDelta="100%p" /> </set> //anim/dialog_exit.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- //持续时间 --> <translate android:duration="600" android:toXDelta="100%" /> </set>
相关推荐
在Android开发中,自定义动画和窗口效果是提升用户体验的重要手段。本文将深入探讨如何实现Activity的淡入淡出效果,以及模拟iPhone的左右滑动切换界面的效果,同时讲解如何自定义Activity窗口。 首先,让我们从...
"仿UC删除窗口列表动画android源码"是一个专门为Android应用设计的示例项目,它模仿了UC浏览器中删除窗口时的动画效果,为用户提供了视觉上的交互反馈。这个项目可以帮助开发者学习如何在ListView中实现类似的功能,...
在本教程中,我们将深入探讨如何利用`PopupWindow`实现从底部弹出或滑出的选择菜单或窗口,以及如何设置背景为灰色透明。 首先,我们需要理解`PopupWindow`的基本概念。`PopupWindow`是Android SDK中的一个类,它...
在Android开发中,创建引人注目的用户界面是至关重要的,尤其是一些具有动画效果的弹出窗口,它们能够提供良好的用户体验并增加应用的趣味性。"Android炫酷的弹出窗口"这一主题主要涵盖了如何在Android应用中设计和...
在Android开发中,PopupWindow是一种常用的UI组件,它可以在屏幕上的任意位置显示一个浮动窗口,通常用于实现类似下拉菜单、提示框等效果。在这个场景中,我们要实现的是从屏幕底部弹出的PopupWindow,并带有滑动...
本文将深入探讨如何在Android中实现丰富的弹出框动画效果,以"android弹出框动画效果"为主题,结合"NiftyModalDialogEffects"这个压缩包中的示例,我们将详细解析Android Dialog的动画设计与实现。 首先,了解...
综上所述,这个"Android底部滑动弹出窗口源码"项目涵盖了Android开发中的多个关键点:自定义视图动画、WebView交互、底部导航菜单和顶部滑动菜单的实现。通过研究这个项目,开发者不仅可以学习到如何实现底部滑出...
【Android 带动画的底部弹出视图】 在Android应用开发中,用户交互界面的设计是至关重要的。底部弹出视图(Bottom Sheet)是一种常见的交互元素,它可以从底部向上滑动显示更多的内容或者功能选项,常用于展示详情...
在Android应用开发中,"弹出窗口 拍照上传"是一个常见的功能,尤其是在社交类应用中,如微信。这个功能允许用户通过点击按钮触发一个底部弹出窗口,该窗口通常包含拍照和从相册选择图片两个选项,方便用户快速分享...
在Android开发中,弹出窗口(PopupWindow)是一种常见的用户交互元素,用于在主界面之上显示临时信息或者提供额外的功能选项。它不像是一个独立的Activity,而是依附于现有的视图并能自由控制其显示位置和样式。下面...
在Android中,PopupWindow是一个可以在屏幕上弹出的一种窗口,自定义PopWindow类可以实现自定义的弹出窗口效果。在本文中,我们定义了一个名为PopWin的自定义PopWindow类,该类继承自PopupWindow类,并添加了一些...
在Android中,可以通过设置Activity的窗口属性来实现切换动画。在AndroidManifest.xml中对Activity进行配置,或者在代码中使用overridePendingTransition()方法。例如,可以使用滑动、淡入淡出等效果。 6. 自定义...
在Android开发中,创建一个高度仿真的京东商品详情页是一个挑战性的任务,涉及到多个技术点和组件的集成。本文将详细解析"Android-精仿京东商品详情页效果支持左右滑动上下滑动"这一项目的核心知识点,帮助开发者...
在Android开发中,创建一个从下到上弹出的透明弹出框是一项常见的需求,它通常用于显示一些临时的通知或用户交互。这个过程涉及到多个关键知识点,包括自定义视图、动画效果、触摸事件处理以及布局设计。接下来,...
在Android开发中,WindowManager是一个非常重要的服务,它允许开发者将视图添加到系统的顶级窗口层次结构中,实现各种自定义的界面效果。本篇主要探讨如何利用WindowManager的`addView()`方法来创建一个可伸缩的弹出...
关于菜单动画,文档中提到的菜单动画并不是指设备物理菜单键的弹出菜单,而是基于Android SDK提供的android.view.animation.TranslateAnimation类实现的动画效果。TranslateAnimation可以实现Activity内部视图组件的...
"Android之富有动感的底部弹窗动画效果"这个主题,正是聚焦于如何在Android平台上创建一种炫酷且实用的底部弹出窗口(Bottom Sheet)动画。这种动画效果可以使应用更具活力,提升用户的交互体验。 首先,我们需要...
本案例聚焦于如何实现一个简单的、从底部滑出的PopupWindow,它能以动画形式展示菜单项,且易于集成到任何应用程序中。下面将详细介绍实现这个功能的关键知识点。 1. PopupWindow基础: PopupWindow是Android中的...
在实现侧滑筛选时,我们可以利用PopupWindow的这一特性,将其设置为从屏幕边缘滑出的效果。以下是一些关键步骤: 1. 创建PopupWindow对象,指定布局资源和宽度、高度。 2. 设置PopupWindow的动画效果,通常可以使用...
总之,Fragment动画是提升Android应用用户体验的重要手段,通过掌握并灵活运用各种Fragment动画,开发者可以创建出更加生动和吸引人的用户界面。在分析提供的源码示例时,要关注动画的创建、设置和执行过程,以及...