软件编程
位置:首页>> 软件编程>> Android编程>> Android实现弹出登陆框的方案

Android实现弹出登陆框的方案

作者:hebedich  发布时间:2021-09-03 06:52:36 

标签:Android,弹出登陆框

下面是我的实现经历:

1.首先,我是直接使用AlertDialog来实现,确定是,形状有点难看,而且获得Dialog里面的控件略显麻烦(因为我要做的登陆框有一定的布局),然后就给我就放弃了,可能因为我太水了,不能很好的使用它

2.然后我就使用PopupWindow来实现,界面是达到了我的要求,控件的获得通过Inflater就可以获得了相对较简单,但是有一个缺点就是,当点击输入的时候,对话框不会根据软键盘的位置而改变位置,网上搜了搜,还不能直接监听软键盘的出现和消失的事件消息,挣扎了一个下午,果断放弃。

3.最后直接就使用Activity来实现了,界面达到了要求,控件获取也容易,还能根据软键盘而改变位置,集体实现如下:

第一,创建Activity,并布置好相应的布局。

第二,个人觉得是最重要的一部,就是注册Activity的时候,设定好Activity的theme属性为Dialog,要自定义自己的Style文件,这样Activity的显示才会按照自己的要求实现,具体代码如下:


<activity
     android:name="com.zsxy.schedule.Login"
     android:theme="@style/login_dialog" >
   </activity>

其中login_dialog文件如下:


<style name="login_dialog" parent="@android:style/Theme.Dialog">
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">false</item>
 </style>

3.最后想调用其他Activity那样调用就行了

0
投稿

猜你喜欢

  • 一、简介Join方法主要是用来阻塞调用线程,直到某个线程终止或经过了指定时间为止。官方的解释比较乏味,通俗的说就是创建一个子线程,给它加了这
  • 一、前言随着互联网项目前后端分离方式的流行,前端与后端交给不同的人员开发,项目沟通成本也随之提高。主要表现在WebAPI接口的沟通,Swag
  • 点击窗体任意位置移动窗体:需要添加命名空间:using System.Runtime.InteropServices;private con
  • 现在智能手机基本都是触摸操作,点击按钮是一种交互方式,同时手势相关的操作,比如滑动等等同样是很重要的交互方式。这篇文章是对安卓手势交互相关知
  • 现象: 1. 表面现象: 方法中输出的日志, 日志文件中找不到, 也没有任何报错(即@Async标注的方法没有执行, 也没有报错)2. 分析
  • 感谢《Android源码设计模式解析与实战》 何红辉 关爱民 著适配器模式在我们的开发中使用率极高,从代码中随处可见的Adapter就可以判
  • C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类。这个包包含于System.Text.RegularExpressions命
  • Cookie和Session都是为了保持用户的访问状态,一方面为了方便业务实现,另一方面为了简化服务端的程序设计,提高访问性能。Cookie
  • 今天遇到一个特别的需求,需要从下面的字符串中转换成一个DateTime对象:[07-13 15:50:42]主要问题是这个时间不是标准的时间
  • 介绍今天主要分享一下 kafka 的 rebalance,在 kafka 中,rebalance 是一个十分重要的概念,很多时候引发的一些问
  • 1. RocketMQ Topic创建机制以下源码基于Rocket MQ 4.7.0RocketMQ Topic创建机制分为两种:一种自动创
  • 一种方法是可以在窗体的属性面板将窗体的 ControlBox属性设置为false,或者在窗体的构造函数中这样写:public Form1()
  • 1、maven是什么,为什么存在?项目结构是什么样子,怎么定位jar官方网站说了好多,整的多复杂一样,简单说:maven是一个管理包的工具。
  • Struts2的核心在于它复杂的 * ,几乎70%的工作都是由 * 完成的。比如我们之前用于将上传的文件对应于action实例中的三个属性的
  • 需求:应用A(通常有多个)和应用B(1个)进行 socket通讯,应用A必须知道应用B的ip地址(在应用A的配置文件中写死的),这个时候就必
  • 简述增量更新,根据字面理解,就是下载增加的那部分来达到更新的目的,实际就是这个意思。原理用一个旧的Apk安装与一个新的Apk安装包使用 bs
  • 在Java世界中,AES、DES加密解密需要使用Cipher对象构建加密解密系统,Hutool中对这一对象做再包装,简化了加密解密过程。介绍
  • 本文实例讲述了Aspectj框架。分享给大家供大家参考,具体如下:一 环境变量配置CLASSPATH配置为:.;d:\aspectj1.8\
  • 目录问题产生如何解决总结问题产生默认生成的flutter工程,在启动时候会白屏,设备性能越差,白屏时间越长。原生Android开发也会遇到类
  • 在上一篇文章《驱动开发:内核字符串转换方法》中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应
手机版 软件编程 asp之家 www.aspxhome.com