DatePicker去掉头布局的两种方法

5.0+

private void hideDatePickerHeader() {
        ViewGroup rootView = (ViewGroup) datePicker.getChildAt(0);
        if (rootView == null) {
            return;
        }
        View headView = rootView.getChildAt(0);
        if (headView == null) {
            return;
        }
        //5.0+
        int headerId = getContext().getResources().getIdentifier("day_picker_selector_layout", "id", "android");
        if (headerId == headView.getId()) {
            headView.setVisibility(View.GONE);//隐藏并且不占位置
            ViewGroup.LayoutParams layoutParamsroot = rootView.getLayoutParams();
            layoutParamsroot.width = ViewGroup.LayoutParams.WRAP_CONTENT;
            rootView.setLayoutParams(layoutParamsroot);

            ViewGroup animator = (ViewGroup) rootView.getChildAt(1);
            ViewGroup.LayoutParams layoutParamsAnimater = animator.getLayoutParams();
            layoutParamsAnimater.width = ViewGroup.LayoutParams.WRAP_CONTENT;
            animator.setLayoutParams(layoutParamsAnimater);
            View child = animator.getChildAt(0);

            ViewGroup.LayoutParams layoutParamsChild = child.getLayoutParams();
            layoutParamsChild.width = ViewGroup.LayoutParams.WRAP_CONTENT;
            child.setLayoutParams(layoutParamsChild);
            return;
        }

        
    }//隐藏datePicker头布局的方法
}

还是看6.0+及以上的吧

private void hideDatePickerHeader() {
        ViewGroup rootView = (ViewGroup) datePicker.getChildAt(0);
        if (rootView == null) {
            return;
        }
        View headView = rootView.getChildAt(0);
        if (headView == null) {
            return;
        }
        
        //6.0+及以上
        int headerId = getContext().getResources().getIdentifier("date_picker_header", "id", "android");
        if(headerId==headView.getId()){
            headView.setVisibility(View.GONE);//隐藏并且不占位置
        }
    }//隐藏datePicker头布局的方法

 

上一篇:Android面试心得,已拿到offer,kotlin线程


下一篇:spring之bean的作用域scope的值的详解