文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android使用Dialog风格弹出框的Activity

2022-06-06 07:38

关注

在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 多种简单的弹出框样式设置代码Android实现可输入数据的弹出框react-native 封装选择弹出框示例(试用ios&android)Android中自定义PopupWindow实现弹出框并带有动画效果Android 仿微信朋友圈点赞和评论弹出框功能高仿IOS的Android弹出框Android仿微信进度弹出框的实现方法Android编程实现仿QQ发表说说,上传照片及弹出框效果【附demo源码下载】Android自定义弹出框dialog效果Android自定义底部弹出框ButtomDialog


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯