有时你需要一个对话框,但同时对话框中的内容有更多控制和能控制其生命周期,这时你可以使用带有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 Activity自定义style的操作步骤与相关技巧,需要的朋友可以参考下
自定义Dialog(Activity样式改为Dialog)
android 自定义 dialog和activity 跳转的样式
一、需求触发场景: ...但是Dialog不会消失。示例如下: 二、实现方法: 发布需求时,我个人曾想过...需要在配置文件中将需要显示为dialog样式的activity添加dialog主题(可调用系统自带也可以自定义主题添加) <?xml
dialog在开发中非常常用,但是系统自带的样式有限,所以我们需要自定义,吧aactivity装扮成dialog是非常灵活的,我写了一个demo,和大家分享
在Android中经常会遇到需要使用Dialog风格弹出框的activity,首先我们可能会首先想到的是在XML布局文件中设置android:layout_height=”wrap_content”属性,让activity的高度自适应,显然这还不行,我们还需要为其...
本文着重研究了自定义对话框,通过一下步骤即可清晰的理解原理,通过更改界面...--自定义Dialog背景全透明无边框theme--> <style name=MyDialog parent=android:style/Theme.Dialog> <!--背景颜色和透明
// 第一个参数是 上下文本 、第二个参数 dialog样式 public CentreProgressDialog(Context context, int theme) { super(context, theme); } //3、静态的方法 设置dialog的样式以及布局 public static ...
主要给大家介绍了关于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**
本文在《7种形式的Android Dialog使用实例》在这篇文章的基础进行学习,具体内容如下 1.概述 android原生控件向来以丑著称(新...Activity的Dialog样式 FragmentDialog 先看下最终的效果图: 2.实践 前面提到几种
主题(theme)应用到整个Activity和Application的样式,当设置好主题后,Activity或整个程序中的视图都将使用主题中的属性,当主题和样式中的属性发生冲突时,样式的优先级要高于主题。 自定义主题代码如下(styles....
CommonDialog@author luzhenyu@version 2.0@createDate 2015/05/01@updateDate 2018/02/16此Dialog为IOS样式的通用对话框,包含以下主要组件:双按钮对话框单按钮对话框输入对话框自定义View对话框底部表格菜单...
有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog),以下是我在开发一个小游戏中总结出来的.希望对大家有用. 先上效果图: 下面是用到的背景图或按钮的图片 经过查找资料和参考了一下例子后才...
Android Theme也主要是通过定义Style来实现的,实现的原理大家可以直接看Android Framework中的定义,今天给一种更简单,但相对灵活的方法,比如不要Theme.Dialog中的边框,下面就一起来看下自定义Activity 大小的...
支持Activity形式的Dialog(BottomDialogActivity) 有上下文即可显示的条件 列表可操作list进行更新查看 支持监听列表 演示 简单标题文字 BottomDialog .builder( this ) { title( " Hello " ) message( build...