[android] 手机卫士自定义对话框布局

手机防盗页面部分

点击手机防盗,进行判断,如果没有设置密码,显示一个设置密码的对话框,如果已经设置密码了,弹出输入密码对话框

密码保存在SharedPreferences中,数据取出进行判断

自定义一个布局文件,dialog_setup_password.xml

根布局宽度不要充满屏幕

内部控件,宽度要小一点留出空间,居中对齐,android:gravity=”center”

两个并排的按钮,确定和取消,线性布局水平朝向

获取AlertDialog.Builder对象,通过new Builder(),参数:上下文对象

调用Builder对象的setView(view)方法,参数:View对象,通过布局填充器填充

调用View.inflate(context,resource,root)方法,把布局文件转换成View对象,上下文,资源,根

调用Builder对象的show()方法

HomeActivity.java

    /**
     * 打开手机防盗的对话框
     */
    protected void startMobileSec() {
        String password=sp.getString("password", "");
        //设置密码
        if(TextUtils.isEmpty(password)){
            AlertDialog.Builder builder=new Builder(this);
            View view=View.inflate(this, R.layout.dialog_setup_password, null);
            builder.setView(view);
            builder.show();
        }else{
            //输入密码

        }
    }

dialog_setup_password.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <TextView
        android:background="#669933"
        android:textColor="#fff"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center"
        android:text="设置密码" />
    <EditText
        android:layout_width="290dp"
        android:layout_height="wrap_content"
        android:hint="请输入密码"/>
    <EditText
        android:layout_width="290dp"
        android:layout_height="wrap_content"
        android:hint="请确认密码"/>
    <RelativeLayout
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:gravity="center_horizontal"
        android:layout_width="200dp"
        android:layout_height="wrap_content">
        <Button
            android:layout_alignParentLeft="true"
            android:background="#2aabd2"
            android:textColor="#fff"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:text="确认"/>
        <Button
            android:layout_alignParentRight="true"
            android:background="#eb9316"
            android:textColor="#fff"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:text="取消"/>
    </RelativeLayout>

</LinearLayout>
时间: 2024-12-17 19:49:59

[android] 手机卫士自定义对话框布局的相关文章

[android] 手机卫士自定义滚动控件

TextView控件设置单行显示 android:singleLine=”true” 设置TextView开始的位置显示省略号,android:ellipsize=”start” 设置滚动属性,android:ellipsize=”marquee” 当控件有焦点的时候,才会调用那个滚动效果 新建一个ui包 新建一个类FocusedTextView继承系统的TextView 重写构造方法 重写isFoused()方法,返回true,就可以让它生来就有焦点,其实并没有焦点,只是欺骗了android系

Android 手机卫士--自定义组合控件构件布局结构

由于设置中心条目中的布局都很类似,所以可以考虑使用自定义组合控件来简化实现 本文地址:http://www.cnblogs.com/wuyudong/p/5909043.html,转载请注明源地址. 自定义组合控件 1.将已经编写好的布局文件,抽取到一个类中去做管理,下次还需要使用此布局结构的时候,直接使用组合控件对应的对象. 2.将组合控件的布局,抽取到单独的一个xml中 新建布局文件:setting_item_view.xml,将上篇文章中布局文件中的代码放进去 <?xml version=

[android] 手机卫士自定义组合控件

设置中心 新建SettingActivity 设置GridView条目的点击事件 调用GridView对象的setOnItemClickListenner()方法,参数:OnItemClickListenner对象 匿名内部类实现,重写onItemClick()方法,传递进来的参数: parent是GridView对象,view是当前View对象,position是当前索引 switch判断,当时设置中心的索引时,跳转到设置中心 设置中心界面 使用相对布局,右边的<CheckBox/> 位于父

[android] 手机卫士自定义吐司

继续在之前监听来电的服务AddressService里,添加成员方法MyToast() 获取TextView对象,new出来,构造参数:上下文对象 调用TextView对象的setText()方法,设置文本 调用TextView对象的setTextSize()方法,设置大小,参数:int 调用TextView对象的setTextColor()方法,设置颜色 获取WindowManager对象,调用getSystemService()方法,参数:WINDOW_SERVICE 调用WindowMan

Android 手机卫士--home界面布局

本文实现当从splash界面进入hone界面的时候,产生一种渐进淡入的动画效果,在onCreate中调用一个方法initAnimation(),代码如下: /** * 添加淡入的动画效果 */ private void initAnimation() { AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1); alphaAnimation.setDuration(3000); rl_root.startAnimation(alphaAn

Android 手机卫士--确认密码对话框编写

本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. 布局文件和<Android 手机卫士--设置密码对话框>中的布局基本类似,所有copy一下,修改一点细节就搞定: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and

Android 手机卫士--弹出对话框

在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private Handler mHandler = new Handler() { // public void handleMessage(android.os.Message msg) { switch (msg.what) { case UPDATE_VERSION: //弹出对话框,提示用户更新 //showUp

Android 手机卫士--签名文件说明&amp;包名说明

在<Android 手机卫士--打包生成apk维护到服务器>一文中,实现了新版本的apk到服务器,当打开客户端apk的时候,发现有新版本,提示更新.还实现了利用xutils工具实现了从服务器端下载apk 本文地址:http://www.cnblogs.com/wuyudong/p/5903484.html,转载请注明源地址. 本文实现下载本机apk的安装,过程很简单,参考<Android APK的安装> 代码如下: /** * 安装对应的apk * @param file 安装文件

[android] 手机卫士黑名单功能(ListView结合SQLite增删改)

修改界面,在顶部横条上增加一个添加按钮,点击打开一个自定义对话框,输入电话号码和拦截模式保存到数据库 自定义对话框看这篇http://www.cnblogs.com/taoshihan/p/5370378.html   添加记录 调用Builder对象的show()方法,获取AlertDialog对象 调用View.inflate()方法,将布局文件转成View对象 调用View对象的findViewById()方法,获取确认和取消的Button对象 调用Button对象的setOnClickL