300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android 自定义dialog样式 Android 自定义dialog类

android 自定义dialog样式 Android 自定义dialog类

时间:2022-12-24 05:26:07

相关推荐

android 自定义dialog样式 Android 自定义dialog类

首先定制style样式 styles.xml 加入自定义样式

@null

true

true

true

@color/transparent

@color/transparent

true

0.6

在添加视图页面 在 res.layout 下加入loading_dialog.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:alpha="255"

android:background="@drawable/bg_white_radius"

android:gravity="center"

android:orientation="vertical">

android:id="@+id/progressBar"

style="?android:attr/progressBarStyle"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:id="@+id/content_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:gravity="center"

android:paddingLeft="10dp"

android:paddingRight="10dp"

android:text="@string/loading_text"

android:textColor="@color/bg_primary"

android:textSize="14sp" />

现在开始写自定义视图LoadingView

class LoadingView(context: Context, content: String) :

Dialog(context, R.style.CustomLoadingDialog) {

init {

setContentView(R.layout.loading_dialog)

content_view.text = content

setCanceledOnTouchOutside(true)

backgroundAlpha(1f)

val dm = context.resources.displayMetrics

window?.attributes?.width = (dm.widthPixels * 0.6).toInt()

window?.attributes?.height = (dm.widthPixels * 0.6 * 0.6).toInt()

setCancelable(false)

}

override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {

when (keyCode) {

KeyEvent.KEYCODE_BACK -> {

if (isShowing) {

dismiss()

}

}

}

return super.onKeyDown(keyCode, event)

}

override fun dismiss() {

if(isShowing){

super.dismiss()

}

}

override fun setTitle(title: CharSequence?) {

content_view.text = title

}

private fun backgroundAlpha(alpha: Float) {

window?.attributes?.alpha = alpha

}

}

创建一个单例管理类,方便使用

class LoadingManager private constructor(){

private var mContext:Context? = null

private var loadingView: LoadingView? = null

companion object {

val instance: LoadingManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) {

LoadingManager()

}

}

fun createDialog(context: Context, title: String): LoadingView {

if(mContext == context){

if(loadingView != null){

loadingView?.setTitle(title)

return loadingView!!

}

}

loadingView = null

mContext = context

loadingView = LoadingView(mContext!!, title)

return loadingView!!

}

}

使用

//显示加载中视图

LoadingManager.instance.createDialog(this,"登录中").show()

//关闭视图

LoadingManager.instance.createDialog(this,"").dismiss()

Android 自定义Dialog类,并在Activity中实现按钮监听。

实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的 ...

Android自定义 Dialog 对话框

Android自定义Dialog/and_he/archive//09/16/2178716.html Android使用自定义AlertDialo ...

Android—自定义Dialog

在 Android 日常的开发中,Dialog 使用是比较广泛的.无论是提示一个提示语,还是确认信息,还是有一定交互的(弹出验证码,输入账号密码登录等等)对话框. 而我们去看一下原生的对话框,虽然随着 ...

Android自定义Dialog

Android开发过程中,常常会遇到一些需求场景——在界面上弹出一个弹框,对用户进行提醒并让用户进行某些选择性的操作, 如退出登录时的弹窗,让用户选择“退出”还是“取消”等操作. Android系统提 ...

Android自定义Dialog(美化界面)

前言:在做项目的时候,发现dialog界面太丑陋,从csdn上下载了一份自定义dialog的源码,在他的基础上对界面进行美化...有需要的朋友可以直接拿走 效果图如下: 主要代码: /** * 自定义 ...

Android自定义Dialog及其布局

实际项目开发中默认的Dialog样式无法满足需求,需要自定义Dialog及其布局,并响应布局中控件的事件. 上效果图: 自定义Dialog,LogoutDialog: 要将自定义布局传入构造函数中, ...

android 自定义Dialog背景透明及显示位置设置

先贴一下显示效果图,仅作参考: 代码如下: 1.自定义Dialog publicclassSelectDialogextendsAlertDialog{ publicSelectDialog ...

android 自定义Dialog去除黑色边框

在自定义Dialog时显示的界面中老是有黑色的边框,下面就介绍使用style去除黑色边框方法. 首先在values/styles定义自定义样式:

删除index文件中列出的所有二进制日志文件,将index文件清空,并创建一个新的二进制日志文件. 使用这个命令要很小心,以免丢失二进制日志文件数据. reset master也会清空gtid_pur ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。