`

android > 弹出 Activity

 
阅读更多

 

在 Act1 上弹出 一个窗口,窗口内容为 Act2

 

Act1 source: 其中里面有个遍历 judgealert 用来做标示判断,目的是在oncreate 时 不执行 onresume

 

package t1.com;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;


public class T1Activity extends Activity {
    /** Called when the activity is first created. */
	private Button at;
	
	private boolean judgealert ;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        judgealert = false;
        at = (Button)findViewById(R.id.at);
        at.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				// TODO Auto-generated method stub
				judgealert = true;
				Intent intent = new Intent();
				intent.setClass(T1Activity.this, AlertAct.class);
				T1Activity.this.startActivity(intent);
				
			}
		});
        
    }

    
    @Override
    protected void onResume() {
    	// TODO Auto-generated method stub
    	super.onResume();
    	if(judgealert == true){
    		Toast.makeText(T1Activity.this, "弹出窗口关闭咯", Toast.LENGTH_LONG).show();
    	}
    	judgealert = false;
    	
    	
    }

    
    
    
}

 

 

Act1 layout 

 

<?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/at"
	    android:layout_width="fill_parent"	
	    android:layout_height="wrap_content"
	    android:text="弹出"
	    />
</LinearLayout>
 

 

Act2 source:

 

package t1.com;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;


public class AlertAct extends Activity {
    /** Called when the activity is first created. */
	private Button close;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.alert);
        close = (Button)findViewById(R.id.close);
        
        close.setOnClickListener(new View.OnClickListener() {
			
			public void onClick(View v) {
				// TODO Auto-generated method stub
				AlertAct.this.finish();
			}
		});
        
       
    }
}

 

 

 

Act2 layout:

 

<?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" >

	<TextView 
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:text="hello.. i am alert!"
	    />
	
	
	<Button 
	    android:id="@+id/close"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:text="关闭"
	    />
</LinearLayout>
 

 

 

在 Manifest 中 要给予 Act2 属性     android:theme="@android:style/Theme.Dialog"

 

另外  弹出 Act 也可以自定义 窗口属性 放在Act2 中

 

     Dialog dialog = new Dialog(LoginAddSensor.this);
    Window dialogWindow = dialog.getWindow();
     WindowManager m = getWindowManager();
     Display d = m.getDefaultDisplay();
     WindowManager.LayoutParams p = getWindow().getAttributes();
     p.width = (int)(d.getWidth()*0.8);

     p.alpha = 0.8f;
     dialogWindow.setAttributes(p);

 

-----------------------------------------------

** 解决弹出窗口去掉标题栏 

 先在 res/values/styles.xml 中新建 style

 

<?xml version="1.0" encoding="UTF-8"?>
<resources>
	<style name="myDialogTheme" parent="android:Theme.Dialog">
	        <item name="android:windowFrame">@null</item>
	        <item name="android:windowIsFloating">true</item>
	        <item name="android:windowIsTranslucent">false</item> 
	        <item name="android:windowNoTitle">true</item><!--除去title-->
	        <item name="android:windowContentOverlay">@null</item> 
	        <item name="android:backgroundDimEnabled">false</item>
	        <item name="android:windowBackground">@null</item><!--除去背景色-->
	
	</style>   
</resources>
 

然后在 Manifest 中 的 Activity 加载 Theme

 

android:theme="@style/myDialogTheme"   即可

 

也可以在里面定义 字体颜色 如下通用 的 Activity Theme

<?xml version="1.0" encoding="UTF-8"?>
<resources>
	<style name="globalActTheme" parent="android:Theme.Translucent.NoTitleBar">
	        <item name="android:textColor">#ff0000</item>
	
	</style>   
</resources>
 

 

 

 

 

 

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

相关推荐

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

    在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...

    android activity右进右出动画

    Activity之间的切换动画可以极大地提升用户体验,"android activity右进右出动画"就是一个常见的应用场景,它使得应用在切换时具有更加自然、流畅的视觉效果。在Android中实现这种动画主要涉及两部分:进入动画...

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

    &lt;/activity&gt; ``` 接下来,我们会在Activity的布局文件中设计Dialog的UI。通常,Dialog的布局文件会比普通Activity更简洁,一般包含一个Title、主要内容区域和一两个操作按钮。布局文件应保持响应式,以便在不同尺寸...

    android edittext不弹出软键盘三种方法

    android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: &lt;activity android:name=".Main" android:...

    Android之Activity应用小例子

    当一个Activity启动另一个Activity时,后者会被压入栈顶,而按返回键则会从栈顶弹出当前Activity,回退到前一个Activity。这就是Android的导航模型。 总结来说,“Android之Activity应用小例子”主要涵盖了Activity...

    android中设置activity的出现方式

    当我们谈论“设置Activity的出现方式”时,我们实际上是在讨论如何自定义Activity的启动动画和过渡效果。这涉及到Android的窗口动画(Window Animation)和场景过渡(Transition)。在本篇文章中,我们将深入探讨...

    Android基础系列的Activity

    默认情况下,新启动的Activity会被压入栈顶,而当用户点击后退键时,栈顶的Activity会被弹出,显示前一个Activity,这就实现了回退功能。 对于多窗口模式,自Android N(7.0)开始,引入了Picture-in-Picture (PIP)...

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

    总的来说,实现“android退出所有Activity并且不弹出对话框”的功能涉及对Android Activity管理机制的理解,合理使用`finishAffinity()`或通过启动新的任务来清除任务栈。虽然这种方法可以快速退出应用,但应谨慎...

    android 两个activity 翻转动画切换

    在Android开发中,Activity之间的切换可以通过自定义动画来实现更加丰富的视觉效果,比如翻转动画。这不仅可以提高用户的交互体验,还能为应用增添独特的风格。本文将深入探讨如何实现两个Activity之间的翻转动画...

    android通过手势切换activity

    通过阅读源码,我们可以深入理解手势识别和Activity切换的具体实现细节,这对于优化性能和解决可能出现的问题非常有帮助。 6. **工具支持**: - 除了原生的手势识别库,还有一些第三方库如AndroidSwipeLayout、...

    Android 改变Activity切换方式

    默认情况下,Android系统在用户导航时采用栈(后进先出,LIFO)的方式管理Activity,即新的Activity压入栈顶,当用户按下Back键时,栈顶的Activity会被弹出,呈现出栈中的前一个Activity。然而,开发者可以根据需求...

    Android、教程<经典> 5 Activity生命周期

    按回退键会弹出栈顶Activity,调用其onDestroy()方法。 - 后台Activity:当用户打开一个新的Activity时,当前Activity进入后台,系统可能会暂时销毁它。当用户返回时,系统会重建它,通过onCreate()、onStart()和...

    Android Activity跳转和listview的使用

    // 在这里处理点击事件,例如弹出对话框、跳转到新Activity等 } }); ``` button点击事件处理在Android中也非常常见。我们可以在布局XML文件中为按钮添加`android:onClick="methodName"`属性,然后在Activity中...

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

    &lt;/activity&gt; ``` 接下来,我们来创建`DialogActivity`。在`DialogActivity`的布局文件中,应保持简洁,避免使用太大的视图元素,以确保对话框不会超出屏幕范围。可以使用`LinearLayout`、`RelativeLayout`或`...

    全面解析Android应用开发中Activity类的用法

    - 默认方式:通过在AndroidManifest.xml文件中声明Activity,系统会根据配置的`&lt;activity&gt;`标签实例化Activity。 - 动态创建:虽然不常见,但可以通过`Context.createActivity()`方法动态创建Activity,但这需要对...

    android两个Activity的转换

    每次启动新的Activity,都会压入栈顶,用户按下后退键时,栈顶的Activity被弹出,回到前一个Activity。 6. **传递数据**:Intent不仅可以启动Activity,还可以携带数据。使用putExtra()方法可以添加额外的数据,...

    Android PopupWindow与Activity之间的数据传递.zip

    PopupWindow是Android SDK提供的一种轻量级弹出窗口,它可以显示在屏幕任意位置,并且可以设置背景透明度、大小和内容。创建PopupWindow时,通常需要提供一个View作为其内容视图,可以是自定义布局或系统提供的视图...

    Android的Activity周期测试

    - onPause():Activity失去焦点但仍然可见时调用,如弹出一个对话框或启动另一个Activity。 - onStop():Activity完全不可见时调用,此时Activity被移出屏幕。 3. 销毁过程: - onDestroy():系统决定彻底结束...

    Android-TopActivity展示当前app所处的最顶activity

    每次启动新的Activity时,它会被压入栈顶,而如果用户按下返回键,栈顶的Activity则会被弹出,显示其下方的Activity。因此,TopActivity是用户在应用程序中最后操作的那个Activity。 在实际开发中,我们可能有多种...

    Android学习之Activity弹窗

    再者,`PopupWindow`则提供了一种在Activity上创建自定义弹出视图的方式。PopupWindow可以实现更灵活的布局和动画效果,比如下拉菜单、悬浮按钮等。创建PopupWindow需要创建一个View,然后实例化PopupWindow对象并...

Global site tag (gtag.js) - Google Analytics