`

Android学习之Activity弹窗

 
阅读更多

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>

 效果图

  • 大小: 13.2 KB
分享到:
评论

相关推荐

    完美实现将activity作为dialog弹窗进行弹出

    在Android开发中,有时我们可能需要将一个Activity展示为Dialog样式,以便于用户交互,比如在主界面之上显示一个半透明、大小可调整的小窗口。本文将深入探讨如何完美实现将Activity作为Dialog弹窗进行弹出,并且...

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

    最后,启动`PopupActivity`时,可以使用`Intent`并设置特殊的启动模式,这样`Activity`就会以对话框形式出现在当前`Activity`之上: ```java Intent intent = new Intent(this, PopupActivity.class); intent....

    PopLayer-一个通用的Android端弹窗管理框架,内部维护弹窗优先级队列 具备弹窗管理扩展功能 整合Dialog,PoupoWindow,悬浮Widget,透明Webview,Toast,SnackBar,无需再为繁琐的业务弹窗逻辑所困扰.zip

    一个通用的Android端弹窗管理框架,内部维护弹窗优先级队列 具备弹窗管理扩展功能 整合Dialog,PoupoWindow,悬浮Widget,透明Webview,Toast,SnackBar,无需再为繁琐的业务弹窗逻辑所困扰如何添加依赖只需要两行代码轻松...

    Android activity中间弹框

    这篇博客文章《Android:使用Activity制作中间弹窗》(链接已提供)详细介绍了如何利用Activity来实现这种效果。下面我们将深入探讨这一主题,并扩展相关的知识点。 首先,要创建中间弹窗,我们需要自定义一个...

    Android代码-使用 DialogFragment 实现底部弹窗布局

    DialogFragment是Android SDK提供的一种用于管理对话框的组件,它结合了Fragment的功能,使得对话框可以拥有自己的生命周期,并且可以像其他Fragment一样在Activity之间管理。在本文中,我们将深入探讨如何使用...

    Android自定义Dialog弹窗提示

    本篇将详细介绍如何在Android中创建自定义的Dialog弹窗提示。 首先,我们需要理解Dialog的基本结构。Dialog通常由一个对话框窗口和一个内容视图组成。窗口负责Dialog的整体外观,包括背景、边框和阴影等;内容视图...

    android退出所有Activity并且不弹出对话框实现

    `finishAffinity()`是Activity的一个方法,它会结束当前Activity以及与之具有相同affinity的所有Activity。Affinity是指Activity属于哪个任务的属性,通常同一个应用的所有Activity具有相同的affinity。因此,调用`...

    android多种样式dialog弹窗提示封装

    Dialog是Android系统提供的一个视图组件,它可以浮现在Activity之上,展示临时性信息或要求用户做出选择。通常,Dialog包含一个标题、主体内容和一到多个按钮,用于用户响应。在Android中,我们可以使用内置的...

    Android仿iPhone弹窗

    在Android中,弹窗通常不是Activity的一部分,而是附加到根布局(如`WindowManager`)上的。使用`LayoutParams`设置弹窗的位置和大小,并通过`WindowManager`添加和移除它。确保在适当的时候处理触摸事件,防止弹...

    Android中使用Dialog风格弹出框的Activity

    在Android开发中,`Dialog`风格的`Activity`是一种常见的用户界面设计,它模拟了系统对话框的效果,用于展示临时信息或需要用户进行简单交互的情景。这种风格可以使应用程序的界面更加美观,用户体验更佳。下面我们...

    android 自定义弹窗

    2. 创建DialogFragment:对话框在Android中通常由DialogFragment管理,它是Fragment的子类,提供了一种在Activity上显示对话框的方式。你需要继承DialogFragment并覆盖onCreateDialog方法,在其中返回自定义的...

    Android使用列表弹窗的代码例子

    在Android应用开发中,列表弹窗是常见的交互元素,它能提供一种优雅的方式来展示一系列可选项,而不会占据整个屏幕。本示例将探讨如何在Android应用中使用`PopupMenu`和`PopupWindow`来实现这样的功能。 首先,我们...

    Android Q之气泡弹窗的实现示例

    "Android Q之气泡弹窗的实现示例" Android Q 中的气泡弹窗是指一种可以浮动在其他应用程序之上的弹出式窗口,用于显示应用程序的功能和信息。气泡弹窗可以展开显示应用程序的功能和信息,并在不使用时折叠起来。在...

    Android-炫酷的底部弹窗(popupwindow)布局缩放效果

    项目可能包含了一个主Activity,用于展示如何使用这个底部弹窗,以及一个自定义的PopupWindow类,封装了动画逻辑。你可以通过查看该项目的源代码,学习如何在实际项目中复用和扩展这个功能。 除了基本的弹出和缩放...

    Android底部弹窗效果

    3. **显示底部弹窗**:在需要触发底部弹窗的Activity或Fragment中,实例化`CustomBottomSheetDialogFragment`并调用`show()`方法。 ```java CustomBottomSheetDialogFragment dialogFragment = new ...

    Eclipse编写的Android的弹窗应用实例

    在Android开发中,Eclipse是一款曾经非常流行的集成开发环境(IDE),它被广泛用于构建各种...通过学习和实践这个例子,开发者可以掌握Android弹窗的基本用法,这对于构建具有丰富交互体验的Android应用至关重要。

    Activity实现底部弹窗背景透明效果

    在Android开发中,实现底部弹窗背景透明效果是常见的需求,尤其在设计现代、美观的用户界面时。这种效果能够使应用的交互更加流畅,增强用户体验。本篇将详细讲解如何在Activity中实现这一功能。 首先,我们需要...

    Android弹窗ToastDemo源码

    本项目“Android弹窗ToastDemo源码”旨在提供一个自定义`Toast`的示例,允许开发者根据需求调整`Toast`的外观和行为,包括大小、显示时长、位置、透明度、圆角样式以及显示内容等。 1. **自定义`Toast`大小** 默认...

Global site tag (gtag.js) - Google Analytics