Android使用Dialog风格弹出框的Activity
程序员文章站
2024-03-06 13:54:50
在android中经常会遇到需要使用dialog风格弹出框的activity,首先我们可能会首先想到的是在xml布局文件中设置android:layout_height="...
在android中经常会遇到需要使用dialog风格弹出框的activity,首先我们可能会首先想到的是在xml布局文件中设置android:layout_height="wrap_content"属性,让activity的高度自适应,显然这还不行,我们还需要为其dialogactivity设置自定义一个样式
<style name="dialogstyle"> <!--设置dialog的背景--> <item name="android:windowbackground">@android:color/transparent</item> <!--设置dialog的windowframe框为无--> <item name="android:windowframe">@null</item> <!--设置无标题--> <item name="android:windownotitle">true</item> <!--是否浮现在activity之上--> <item name="android:windowisfloating">true</item> <!--是否半透明--> <item name="android:windowistranslucent">true</item> <!--设置窗口内容不覆盖--> <item name="android:windowcontentoverlay">@null</item> <!--设置动画,在这里使用让它继承系统的animation.dialog--> <item name="android:windowanimationstyle">@android:style/animation.dialog</item> <!--背景是否模糊显示--> <item name="android:backgrounddimenabled">true</item> </style>
然后在androidmanifest.xml中设置dialogactivity的样式为我们自定义的dialogstyle
如下是布局的代码
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" android:orientation="vertical"> <linearlayout android:layout_width="match_parent" android:layout_height="65dp" android:orientation="horizontal" android:paddingleft="@dimen/acitvity_margin" android:paddingright="@dimen/acitvity_margin"> <linearlayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <textview android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:text="上班时间:" android:textcolor="@color/grey" android:textsize="@dimen/size_text_medium" /> <button android:id="@+id/tv_signin_time" android:layout_width="wrap_content" android:layout_height="match_parent" android:background="@color/white" android:gravity="center" android:text="9:00" android:textcolor="@color/grey" android:textsize="@dimen/size_text_medium" /> </linearlayout> <linearlayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <textview android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:text="下班时间:" android:textcolor="@color/grey" android:textsize="@dimen/size_text_medium" /> <button android:id="@+id/tv_signout_time" android:layout_width="wrap_content" android:layout_height="match_parent" android:background="@color/white" android:gravity="center" android:text="18:00" android:textcolor="@color/grey" android:textsize="@dimen/size_text_medium" /> </linearlayout> </linearlayout> <relativelayout android:layout_width="match_parent" android:layout_height="65dp" android:paddingleft="@dimen/acitvity_margin" android:paddingright="@dimen/acitvity_margin"> <textview android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignparentleft="true" android:gravity="center" android:text="公司位置:" android:textcolor="@color/grey" android:textsize="@dimen/size_text_medium" /> <edittext android:id="@+id/et_address" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginleft="2dp" android:layout_torightof="@+id/tv_address" android:background="@color/white" android:hint="请输入公司位置" android:singleline="true" android:textsize="@dimen/size_text_small" /> <textview android:id="@+id/tv_location" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentright="true" android:layout_centerinparent="true" android:gravity="center" android:padding="5dp" android:text="重新定位" android:textcolor="@color/blue" android:textsize="@dimen/size_text_medium" /> </relativelayout> <relativelayout android:layout_width="match_parent" android:layout_height="65dp" android:paddingleft="@dimen/acitvity_margin" android:paddingright="@dimen/acitvity_margin"> <textview android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignparentleft="true" android:gravity="center" android:text="设置管理员:" android:textcolor="@color/grey" android:textsize="@dimen/size_text_medium" /> <imageview android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignparentright="true" android:gravity="center" android:src="@mipmap/icon_toright" /> </relativelayout> </linearlayout>
接下来我们再看一下效果图是不是我们想要的呢
源码下载:http://xiazai.jb51.net/201609/yuanma/dialogactivity(jb51.net).rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Android使用Dialog风格弹出框的Activity
-
Android实现可使用自定义透明Dialog样式的Activity完整实例
-
Android UI设计系列之自定义Dialog实现各种风格的对话框效果(7)
-
Android实现可使用自定义透明Dialog样式的Activity完整实例
-
Android UI设计系列之自定义Dialog实现各种风格的对话框效果(7)
-
Android 解决dialog弹出时无法捕捉Activity的back事件问题
-
Android 解决dialog弹出时无法捕捉Activity的back事件问题
-
android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源之IOS_Dialog_Library
-
Android使用Activity实现简单的可输入对话框
-
android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源之IOS_Dialog_Library