WindowDemo.java:
package org.lee.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; public class WindowDemo extends Activity{ private ImageButton mybut; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.window_demo); // 默认布局管理器 this.mybut = (ImageButton) super.findViewById(R.id.right_btn); // 取得按钮 this.mybut.setOnClickListener(new OnClickListenerImpl()); // 设置事件类 } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View view) { Intent intent = new Intent (WindowDemo.this,MainTopRightDialog.class); startActivity(intent); } } }
MainTopRightDialog.java:
package org.lee.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.LinearLayout; import android.widget.Toast; public class MainTopRightDialog extends Activity { //private MyDialog dialog; private LinearLayout layout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_top_right_dialog); //dialog=new MyDialog(this); layout=(LinearLayout)findViewById(R.id.main_dialog_layout); layout.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "提示:点击窗口外部关闭窗口!", Toast.LENGTH_SHORT).show(); } }); } @Override public boolean onTouchEvent(MotionEvent event){ finish(); return true; } /* public void exitbutton1(View v) { this.finish(); } public void exitbutton0(View v) { this.finish(); MainWeixin.instance.finish();//关闭Main 这个Activity } */ }
styles.xml:
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="AnimTop2" parent="@android:style/Animation"> <item name="android:windowEnterAnimation">@anim/push_top_in2</item> <item name="android:windowExitAnimation">@anim/push_top_out2</item> </style> <style name="MyDialogStyleTop" parent="android:Theme.Dialog"> <item name="android:windowAnimationStyle">@style/AnimTop2</item> <item name="android:windowFrame">@null</item> <!-- 边框 --> <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsTranslucent">true</item> <!-- 半透明 --> <item name="android:windowNoTitle">true</item> <!-- 无标题 --> <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景透明 --> <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 --> </style> </resources>
push_top_in2.xml:
<?xml version="1.0" encoding="utf-8"?> <!-- 上下滑入式 --> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="0" android:toYScale="1.0" android:pivotX="0" android:pivotY="10%" android:duration="200" />
push_top_out2.xml:
<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="1.0" android:toYScale="0" android:pivotX="0" android:pivotY="10%" android:duration="200" />
<!-- MainTopRightDialog测试 --> <activity android:name=".MainTopRightDialog" android:theme="@style/MyDialogStyleTop" android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden" > <intent-filter> <action android:name="android.intent.action.maintoprightdialog" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
相关推荐
在Android开发中,有时我们可能需要将一个Activity展示为Dialog样式,以便于用户交互,比如在主界面之上显示一个半透明、大小可调整的小窗口。本文将深入探讨如何完美实现将Activity作为Dialog弹窗进行弹出,并且...
最后,启动`PopupActivity`时,可以使用`Intent`并设置特殊的启动模式,这样`Activity`就会以对话框形式出现在当前`Activity`之上: ```java Intent intent = new Intent(this, PopupActivity.class); intent....
一个通用的Android端弹窗管理框架,内部维护弹窗优先级队列 具备弹窗管理扩展功能 整合Dialog,PoupoWindow,悬浮Widget,透明Webview,Toast,SnackBar,无需再为繁琐的业务弹窗逻辑所困扰如何添加依赖只需要两行代码轻松...
这篇博客文章《Android:使用Activity制作中间弹窗》(链接已提供)详细介绍了如何利用Activity来实现这种效果。下面我们将深入探讨这一主题,并扩展相关的知识点。 首先,要创建中间弹窗,我们需要自定义一个...
DialogFragment是Android SDK提供的一种用于管理对话框的组件,它结合了Fragment的功能,使得对话框可以拥有自己的生命周期,并且可以像其他Fragment一样在Activity之间管理。在本文中,我们将深入探讨如何使用...
本篇将详细介绍如何在Android中创建自定义的Dialog弹窗提示。 首先,我们需要理解Dialog的基本结构。Dialog通常由一个对话框窗口和一个内容视图组成。窗口负责Dialog的整体外观,包括背景、边框和阴影等;内容视图...
`finishAffinity()`是Activity的一个方法,它会结束当前Activity以及与之具有相同affinity的所有Activity。Affinity是指Activity属于哪个任务的属性,通常同一个应用的所有Activity具有相同的affinity。因此,调用`...
Dialog是Android系统提供的一个视图组件,它可以浮现在Activity之上,展示临时性信息或要求用户做出选择。通常,Dialog包含一个标题、主体内容和一到多个按钮,用于用户响应。在Android中,我们可以使用内置的...
在Android中,弹窗通常不是Activity的一部分,而是附加到根布局(如`WindowManager`)上的。使用`LayoutParams`设置弹窗的位置和大小,并通过`WindowManager`添加和移除它。确保在适当的时候处理触摸事件,防止弹...
在Android开发中,`Dialog`风格的`Activity`是一种常见的用户界面设计,它模拟了系统对话框的效果,用于展示临时信息或需要用户进行简单交互的情景。这种风格可以使应用程序的界面更加美观,用户体验更佳。下面我们...
2. 创建DialogFragment:对话框在Android中通常由DialogFragment管理,它是Fragment的子类,提供了一种在Activity上显示对话框的方式。你需要继承DialogFragment并覆盖onCreateDialog方法,在其中返回自定义的...
在Android应用开发中,列表弹窗是常见的交互元素,它能提供一种优雅的方式来展示一系列可选项,而不会占据整个屏幕。本示例将探讨如何在Android应用中使用`PopupMenu`和`PopupWindow`来实现这样的功能。 首先,我们...
"Android Q之气泡弹窗的实现示例" Android Q 中的气泡弹窗是指一种可以浮动在其他应用程序之上的弹出式窗口,用于显示应用程序的功能和信息。气泡弹窗可以展开显示应用程序的功能和信息,并在不使用时折叠起来。在...
项目可能包含了一个主Activity,用于展示如何使用这个底部弹窗,以及一个自定义的PopupWindow类,封装了动画逻辑。你可以通过查看该项目的源代码,学习如何在实际项目中复用和扩展这个功能。 除了基本的弹出和缩放...
3. **显示底部弹窗**:在需要触发底部弹窗的Activity或Fragment中,实例化`CustomBottomSheetDialogFragment`并调用`show()`方法。 ```java CustomBottomSheetDialogFragment dialogFragment = new ...
在Android开发中,Eclipse是一款曾经非常流行的集成开发环境(IDE),它被广泛用于构建各种...通过学习和实践这个例子,开发者可以掌握Android弹窗的基本用法,这对于构建具有丰富交互体验的Android应用至关重要。
在Android开发中,实现底部弹窗背景透明效果是常见的需求,尤其在设计现代、美观的用户界面时。这种效果能够使应用的交互更加流畅,增强用户体验。本篇将详细讲解如何在Activity中实现这一功能。 首先,我们需要...
本项目“Android弹窗ToastDemo源码”旨在提供一个自定义`Toast`的示例,允许开发者根据需求调整`Toast`的外观和行为,包括大小、显示时长、位置、透明度、圆角样式以及显示内容等。 1. **自定义`Toast`大小** 默认...