课堂笔记
实现灰色UI
- 在 BaseActivity 创建时把最外层 View 饱和度设置为0
    // 黑白风格
    ColorMatrix cm = new ColorMatrix();
    cm.setSaturation(0);
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(cm));
    View contentContainer = getWindow().getDecorView();
    contentContainer.setLayerType(View.LAYER_TYPE_SOFTWARE,paint);
扫码功能
    @Override
    protected void initListener() {
        mIvScan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getActivity(), ScanQrCodeActivity.class));
            }
        });
	......
    }
- ScanQrCodeActivity 是我们自己创建的扫码 Activity,代码是复制第三方库 ActivityScanerCode 里的,当然我们也可以把扫码 Activity 的布局修改为我们想要的样式
- ScanQrCodeActivity 里我们需要的代码实现是在方法 handleDecode中
    public void handleDecode(Result result) {
        inactivityTimer.onActivity();
        //扫描成功之后的振动与声音提示
        RxBeepTool.playBeep(this, vibrate);
        String result1 = result.getText();
        Log.v("二维码/条形码 扫描结果", result1);
        if (result1.contains("taobao.com")) {
            TicketUtil.toTicketPage(this, new IBaseInfo() {
                @Override
                public String getPublicCover() {
                    return null;
                }
                @Override
                public String getPublicTitle() {
                    return "";
                }
                @Override
                public String getPublicUrl() {
                    return result1;
                }
            });
        } else {
            ToastUtil.showToast("非法二维码");
        }
//        if (mScanerListener == null) {
//            RxToast.success(result1);
//            initDialogResult(result);
//        } else {
//            mScanerListener.onSuccess("From to Camera", result);
//        }
    }
- 扫描的二维码是字符串,如果字符串里包含 "taobao.com",我们就跳转到领券界面,否则视为非法二维码
- 在二维码扫描时,我们只能获得淘口令,所以跳转到淘口令界面时图片为空,我们可以给它添加一张默认的图片
    if (TextUtils.isEmpty(mCurrentCover)) {
        mCover.setImageResource(R.mipmap.app_icon);
    }
- 这一节属于固定用法了,实际开发遇到该功能会用就行了
- 观看视频
总结
- 首先是要感谢拉大锯老师出了这么好的教学课程,不仅学到了很多新东西,而且把我之前学的零碎的知识点都串在了一起,加强了理解,整个领券联盟做完,也学到开发一个项目的大致流程,先定接口,再写代码,思路清晰,水到渠成,再次感谢!!!
- 笔记是在看第二遍视频写的,如果大家在看笔记的时候发现错误的地方,欢迎指正。刚开始写笔记时写的比较详细,每一步都完完整整,写到后面时,只把重点的地方和新的知识点写的比较详细,其他简单的地方一带而过(可能我进步了吧,哈哈)
- 笔记中还有一些章节需要图片说明的,比如搜索页面自定义View,等有空会补上的。周末准备一下,下周开始找工作,希望自己能蒙混过关,找到一份