Android实现弹出登陆框的方案

 更新时间:2014年07月24日 08:59:20   投稿:hebedich  
最近在做一个项目,要用到登陆框,几经波折,最后用的是直接将Activity的Theme属性设置成Dialog,然后达到了我想要的效果。

下面是我的实现经历:

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那样调用就行了

相关文章

  • Android实现QQ抢红包插件

    Android实现QQ抢红包插件

    这篇文章主要介绍了Android实现QQ抢红包插件,可以支持抢QQ拼手气红包,普通红包,口令红包,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Android编程使用自定义shape实现shadow阴影效果的方法

    Android编程使用自定义shape实现shadow阴影效果的方法

    这篇文章主要介绍了Android编程使用自定义shape实现shadow阴影效果的方法,涉及Android中xml文件布局的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • Android之Compose页面切换动画介绍

    Android之Compose页面切换动画介绍

    大家好,本篇文章主要讲的是Android之Compose页面切换动画介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 使用RecyclerView实现Item点击事件

    使用RecyclerView实现Item点击事件

    这篇文章主要介绍了使用RecyclerView实现Item点击事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Android 中Volley二次封装并实现网络请求缓存

    Android 中Volley二次封装并实现网络请求缓存

    这篇文章主要介绍了Android 中Volley二次封装并实现网络请求缓存的相关资料,希望通过本文能帮助到大家,彻底会使用Volley,需要的朋友可以参考下
    2017-09-09
  • Android使用BottomTabBar实现底部导航页效果

    Android使用BottomTabBar实现底部导航页效果

    这篇文章主要介绍了Android使用BottomTabBar实现底部导航页效果,本文通过实例代码结合文字说明的形式给大家介绍的非常详细,需要的朋友参考下吧
    2018-03-03
  • Android为TextView添加字体库和设置描边的方法

    Android为TextView添加字体库和设置描边的方法

    本篇文章主要介绍了Android为TextView添加字体库和设置描边的方法,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • Android开发之activity的生命周期详解

    Android开发之activity的生命周期详解

    这篇文章主要介绍了Android开发之activity的生命周期,详细分析了activity的运行原理与生命周期,需要的朋友可以参考下
    2016-06-06
  • Android 4.4以上

    Android 4.4以上"沉浸式"状态栏效果的实现方法

    Android与ios效果互仿早已不是什么稀奇的事,我猜大概这个效果来自ios吧,有争议说这种效果不能叫做沉浸式,叫透明状态栏更合适,我也感觉这和沉浸式的含义不太一致。但是大家都这么叫了,那就这样呗。下面来一起看看关于Android 4.4以上"沉浸式"效果的实现方法。
    2016-09-09
  • 分析Android常见的内存泄露和解决方案

    分析Android常见的内存泄露和解决方案

    内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃 (OOM) 等严重后果
    2021-06-06

最新评论