Android4.4之Keyguard--KeyguardMessageArea

KeyguardMessageArea继承自TextView,是各个锁屏界面布局中都包含的一个view。

首先来说SecurityMessageDisplay接口

SecurityMessageDisplay.java文件中定义如下

public interface SecurityMessageDisplay {
    public void setMessage(CharSequence msg, boolean important);
    public void setMessage(int resId, boolean important);
    public void setMessage(int resId, boolean important, Object... formatArgs);
    public void setTimeout(int timeout_ms);
    public void showBouncer(int animationDuration);
    public void hideBouncer(int animationDuration);
}
它的唯一实现KeyguardMessageArea.Helper,这是个public static内部类;

public static class Helper implements SecurityMessageDisplay {
    KeyguardMessageArea mMessageArea;//唯一一个成员变量,指向当前的KeyguardMessageArea实例

    //唯一的构造方法,这里必须传入一个KeyguardMessageArea变量
    Helper(View v) {
        mMessageArea = (KeyguardMessageArea) v.findViewById(R.id.keyguard_message_area);
        if (mMessageArea == null) {
            throw new RuntimeException("Can't find keyguard_message_area in " + v.getClass());
        }
    }

    //设置mMessage并调用securityMessageChanged方法去更新信息
    public void setMessage(CharSequence msg, boolean important) {
        if (!TextUtils.isEmpty(msg) && important) {
            mMessageArea.mMessage = msg;
            mMessageArea.securityMessageChanged();
        }
    }
    ......

    //调用hideMessage并置mShowingBouncer为true
    public void showBouncer(int duration) {
        mMessageArea.hideMessage(duration, false);
        mMessageArea.mShowingBouncer = true;
    }

    
    //调用showMessage并置mShowingBouncer为false
    public void hideBouncer(int duration) {
        mMessageArea.showMessage(duration);
        mMessageArea.mShowingBouncer = false;
    }

    //设置mTimeout
    public void setTimeout(int timeoutMs) {
        mMessageArea.mTimeout = timeoutMs;
    }
}



这个KeyguardMessageArea.Helper比较简单,重点关注它的构造方法就可以,下面看哪里会使用这个静态内部类。

待续......





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值