android 弹出框带标题栏,Android开发靠标题栏的弹框
一、效果图
title_dialog.png
二、思路
首先它是一个弹框,只是弹框的布局做些处理,布局占满屏幕,只有需要白色的布局的背景设为白色。其他没设置背景颜色,自然用dialog的style的windowBackground
三、案例关键代码
dialog的xml
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/cl_dialog_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:background="@color/m_white"
app:layout_constraintTop_toTopOf="parent">
android:id="@+id/iv_select_active"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:scaleType="centerCrop"
android:src="@mipmap/icon_sel_l"
android:visibility="invisible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:id="@+id/tv_select_active"
style="@style/tv_w_w_s16_c_33_bold"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:text="@string/active"
app:layout_constraintBottom_toTopOf="@id/view_line"
app:layout_constraintLeft_toRightOf="@id/iv_select_active"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:id="@+id/view_line"
android:layout_width="0dp"
android:layout_height="1px"
android:layout_marginTop="16dp"
android:background="@color/c_f2efef"
app:layout_constraintLeft_toLeftOf="@id/iv_select_active"
app:layout_constraintTop_toBottomOf="@id/iv_select_active" />
android:id="@+id/iv_select_task"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:scaleType="centerCrop"
android:src="@mipmap/icon_sel_l"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_line" />
android:id="@+id/tv_select_task"
style="@style/tv_w_w_s16_c_33_bold"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:text="@string/task"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/iv_select_task"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_line" />
android:id="@+id/view_empty"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/cl_dialog_content"
app:layout_constraintBottom_toBottomOf="parent"
/>
java代码:
fun showSelectActiveOrTask(context:Context,currentSelect:String,listener: DialogClickBackListener?){
var dialog = getCancelDialog(context)
val window = dialog.window
window.setGravity(Gravity.TOP)
window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)
window.setContentView(R.layout.dialog_active_task_select)
val ivSelectActive = window.findViewById(R.id.iv_select_active)
val tvSelectActive = window.findViewById(R.id.tv_select_active)
val ivSelectTask = window.findViewById(R.id.iv_select_task)
val tvSelectTask = window.findViewById(R.id.tv_select_task)
val view_empty = window.findViewById(R.id.view_empty)
if (currentSelect == "活动"){
ivSelectActive.visibility = View.VISIBLE
} else {
ivSelectTask.visibility = View.VISIBLE
}
view_empty.setOnClickListener {
listener?.onClickBack(currentSelect)
dialog.dismiss()
}
//活动
ivSelectActive.setOnClickListener {
listener?.onClickBack("活动")
dialog.dismiss()
}
tvSelectActive.setOnClickListener {
listener?.onClickBack("活动")
dialog.dismiss()
}
//任务
ivSelectTask.setOnClickListener {
listener?.onClickBack("任务")
dialog.dismiss()
}
tvSelectTask.setOnClickListener {
listener?.onClickBack("任务")
dialog.dismiss()
}
}
其中:
private fun getCancelDialog(context:Context): Dialog {
return AlertDialog.Builder(context, R.style.mydialog).setCancelable(true).show()
}
@null
true
false
true
@android:color/transparent
true
0.6
四、总结
关键是布局,dialog的style
android 弹出框带标题栏,Android开发靠标题栏的弹框相关推荐
- android 弹窗确认,弹出一个带确认和取消的dialog实例
实例如下: /** * 弹出一个带确认和取消的dialog * @param context * @param title * @param msg * @param okbutton * @para ...
- java一个界面用另一个界面的值_如何将参数/值从一个弹出窗口传递到Angular2中的另一个弹出窗口...
我在Angular2中有一个要求,我需要打开第一个弹出窗口,用户会输入一些值 . 在某些用户事件(即按钮单击)上,我需要关闭该弹出窗口并打开另一个弹出窗口,其中包含用户在第一个弹出窗口中输入的值 . ...
- android 弹出网格菜单,在android中的recyclerView中显示弹出按钮的确...
as per my above comment可以使用Popup Menu Android Popup Menu displays the menu below the anchor text if ...
- android中弹出窗口,如何在Android中创建弹出窗口(PopupWindow)
如何制作一个简单的Android弹出窗口 这是一个更完整的例子.这是一个补充性答案,涉及一般情况下创建弹出窗口的过程,而不一定是OP问题的具体细节.(OP要求取消按钮,但这不是必需的,因为用户可以在屏 ...
- android 8.0 屏蔽首次开机弹出的‘即将完成 Android 更新’的弹窗
在Android 8.1版本上,每次刷机开机后,会弹出Android系统正在更新的提示,客户要求去掉该提示 1.首先,通过字符串找到相对应的title,R.string.android_upgradi ...
- android弹出广告cn.yipianfengye.android:ad-library:1.0使用
1.添加依赖 //广告弹屏 implementation 'cn.yipianfengye.android:ad-library:1.0' 2.添加权限下面使用 3.添加数据 /*** 初始化数据*/ ...
- android 软件盘未弹出如何获取高度,Android 软键盘的那些坑,一招搞定!
3 软键盘高度获取 对于上面的问题1,既然想要EditText单独顶上去,那么就需要知道当前键盘弹出的高度,再设置EditText坐标即可. 问题的关键转变为如何获取键盘的高度. Activity窗口 ...
- android 弹出菜单环形,『Android自定义View实战』实现一个小清新的弹出式圆环菜单...
前言 Android表现快捷菜单的形式有很多种,比如使用PopupWindow弹出来的小弹窗,类似QQ的侧拉功能菜单,以及之前讲过的弧形菜单( Android 自定义弧形旋转菜单栏--卫星菜单),这次 ...
- android点击弹出滑动条,IndicatorSeekBar Android自定义SeekBar,滑动时弹出气泡指示器显示进度...
overview.png 之前在网上看到了当Slider控件在滑动时会弹出气泡指示器,觉得很有趣,于是就进行拓展,就有了下面介绍的一个安卓控件:IndicatorSeekBar.先附上Indicato ...
- android点击弹出日期选择器,关于Android 点击按钮弹出日期选择器
首先是 xml文件 xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width= ...
最新文章
- Spring Boot + Redis 操作多种实现
- TensorFlow之张量
- cmake+qt+qtcreator的配置,解决Q_OBJECT的问题
- _vsnprintf 用法
- 一个方法搞定安卓路由跳转
- 笔记-计算机网络基础-综合布线系统
- 04_传智播客iOS视频教程_类是以Class对象存储在代码段
- 同方知网软件_国产精品软件天若OCR:支持图像识别/自动翻译/公式识别等
- 大数据“跨界”文化金融
- 教育院校公共机房虚拟桌面解决方案
- 最全傅里叶变换和拉普拉斯变换公式总结
- 麻省理工18年春软件构造课程阅读09“避免调试”
- java分布式框架_5个强大的Java分布式缓存框架推荐
- QuantLib 开源金融计量学工具箱下载
- OSChina 周日乱弹 ——为了下一代也要努力找个漂亮的媳妇
- 贪吃蛇java游戏代码_java实现贪吃蛇游戏代码(附完整源码)
- 型如=?gb2312?B?的转码
- LiveNVR监控摄像头Onvif/RTSP接入流媒体平台如何配置默认用户账户及用户密码
- poj_1363_Rai
- 洛谷 P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
热门文章
- 【图像处理面试题】——1
- ANSYS 简支梁的约束
- java applet 文本框_Java Applet 文本框 TextField 小例 | 学步园
- python数据类型汇总_python基础数据类型汇总
- 基于几何距离的椭圆拟合
- Doxygen for C++使用说明——注释代码一
- 拉取ftp服务器上的文件_winscp和云服务器,2步实现winscp将文件上传到腾讯云Linux云服务器...
- 《过早退出是一切失败的根源》读后感
- 设计模式_01_单一原则
- 系统应用iPad设备应用需定制开发的3大理由