`
844604778
  • 浏览: 550373 次
文章分类
社区版块
存档分类
最新评论

使用自定义透明Dialog样式的Activity

 
阅读更多

有时你需要一个对话框,但同时对话框中的内容有更多控制和能控制其生命周期,这时你可以使用带有Dialog样式的Activity来应用你的项目中,

想使Activity有对话框那样效果可以在Androidmanifest中添加 android:style/Theme.Dialog 的主题特性

例如这样:

<activity android:name=”MyDialogActivity”
       android:theme=”@android:style/Theme.Dialog”>
</activity>


如果你觉得上面不足以满足你的需求想实现 半透明的, 圆角的,不妨可以试试自定义对话框的style

首先

第一步: 准备工作要做好 一张.9图片

loading_bg.9.png

第二步 :自定义style 在你项目 values 文件夹中创建一个styles.xml 文件

接着在styles文件中添加 名为 MyDialogStyle的style

<style name="MyDialogStyle">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:backgroundDimEnabled">true</item>
</style>

第三步:Dialog的布局 在layout文件夹中添加布局文件 activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">  

    <RelativeLayout
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:layout_centerInParent="true"
        android:background="@drawable/loading_bg" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:gravity="center"
            android:orientation="vertical" >

            <ProgressBar
                android:id="@+id/progressBar1"
                style="?android:attr/progressBarStyleLarge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="正在登录"
                android:textColor="#fff"
                android:textSize="20sp" />
        </LinearLayout>

    </RelativeLayout>

</RelativeLayout>

创建 DialogActivity类

public class DialogActivity extends Activity
{

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 这里你可以进行一些等待时的操作,我这里用8秒后显示Toast代理等待操作
		new Handler().postDelayed(new Runnable(){
			@Override
			public void run(){
				
				DialogActivity.this.finish();
				Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_SHORT).show();
			}
		}, 8000);
	}
}

第四步 : 在Manifest文件中对DialogActivity进行注册,并使用上面自定义MyDialogStyle样式

<activity
     android:name="LoadingActivity"
     android:theme="@style/MyDialogStyle" />
<activity

第五步:运行工程并查看效果图


第六步:打完收工


分享到:
评论

相关推荐

    Android实现可使用自定义透明Dialog样式的Activity完整实例

    主要介绍了Android实现可使用自定义透明Dialog样式的Activity,结合完整实例形式分析了Android Activity自定义style的操作步骤与相关技巧,需要的朋友可以参考下

    自定义Dialog(Activity样式改为Dialog)

    自定义Dialog(Activity样式改为Dialog)

    android 自定义dialog和activity跳转的样式

    android 自定义 dialog和activity 跳转的样式

    Android 中自定义Dialog样式的Activity点击空白处隐藏软键盘功能(dialog不消失)

    一、需求触发场景: ...但是Dialog不会消失。示例如下: 二、实现方法: 发布需求时,我个人曾想过...需要在配置文件中将需要显示为dialog样式的activity添加dialog主题(可调用系统自带也可以自定义主题添加) &lt;?xml

    把activity装扮成dialog

    dialog在开发中非常常用,但是系统自带的样式有限,所以我们需要自定义,吧aactivity装扮成dialog是非常灵活的,我写了一个demo,和大家分享

    Android使用Dialog风格弹出框的Activity

    在Android中经常会遇到需要使用Dialog风格弹出框的activity,首先我们可能会首先想到的是在XML布局文件中设置android:layout_height=”wrap_content”属性,让activity的高度自适应,显然这还不行,我们还需要为其...

    Android自定义对话框Dialog的简单实现

    本文着重研究了自定义对话框,通过一下步骤即可清晰的理解原理,通过更改界面...--自定义Dialog背景全透明无边框theme--&gt; &lt;style name=MyDialog parent=android:style/Theme.Dialog&gt; &lt;!--背景颜色和透明

    自定义dialog

    // 第一个参数是 上下文本 、第二个参数 dialog样式 public CentreProgressDialog(Context context, int theme) { super(context, theme); } //3、静态的方法 设置dialog的样式以及布局 public static ...

    Android通过自定义Activity实现悬浮的Dialog详解

    主要给大家介绍了关于Android通过自定义Activity实现悬浮的Dialog的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,感兴趣的朋友们下面来一起看看吧。

    Android开发之利用Activity实现Dialog对话框

    在Android中经常要使用Dialog来实现一些提示以及一些特殊的效果,而且样式也不一样,每次都得查一大堆资料,还不一定能解决。对话框是个好东西,创建简单有实用。当下的开发中,很多的开发者反而更喜欢使用activity...

    自定义对话框

    自定义对话框样式public class DialogDemoActivity extends Activity { /** Called when the activity is first created. */ private Button btn=null; @Override public void onCreate(Bundle ...

    自定义弹出式对话框

    blog 原文详解 http://blog.csdn.net/qiaoidea/article/details/45896477 使用的几种实现方法概括为以下几种: 1. **自定义Dialog** 2.... 3.... 4. **Activity的Dialog样式** 5. **FragmentDialog**

    Android仿QQ消息提示实现弹出式对话框

    本文在《7种形式的Android Dialog使用实例》在这篇文章的基础进行学习,具体内容如下 1.概述  android原生控件向来以丑著称(新...Activity的Dialog样式 FragmentDialog 先看下最终的效果图: 2.实践  前面提到几种

    Android程序技术:样式、主题、国际化.pptx

    主题(theme)应用到整个Activity和Application的样式,当设置好主题后,Activity或整个程序中的视图都将使用主题中的属性,当主题和样式中的属性发生冲突时,样式的优先级要高于主题。 自定义主题代码如下(styles....

    CommonDialog:IOS样式的常见对话框以及联动实现

    CommonDialog@author luzhenyu@version 2.0@createDate 2015/05/01@updateDate 2018/02/16此Dialog为IOS样式的通用对话框,包含以下主要组件:双按钮对话框单按钮对话框输入对话框自定义View对话框底部表格菜单...

    Android使用自定义alertdialog实现确认退出按钮

    有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog),以下是我在开发一个小游戏中总结出来的.希望对大家有用. 先上效果图: 下面是用到的背景图或按钮的图片 经过查找资料和参考了一下例子后才...

    android弹出activity设置大小的方法

    Android Theme也主要是通过定义Style来实现的,实现的原理大家可以直接看Android Framework中的定义,今天给一种更简单,但相对灵活的方法,比如不要Theme.Dialog中的边框,下面就一起来看下自定义Activity 大小的...

    BottomDialog:可高度自定义的底部布局,使用BottomSheet,支持滚动布局,同时底部布局不会因BottomSheet未显示全部内容而隐藏

    支持Activity形式的Dialog(BottomDialogActivity) 有上下文即可显示的条件 列表可操作list进行更新查看 支持监听列表 演示 简单标题文字 BottomDialog .builder( this ) { title( " Hello " ) message( build...

Global site tag (gtag.js) - Google Analytics