记一些常用又不好记的东西

1.改变状态栏颜色

	//设置状态栏颜色
	if (Build.VERSION.SDK_INT >=21){
    		getWindow().setStatusBarColor(ContextCompat.getColor(this,R.color.red));
	}
1.2让状态栏透明(华为底部虚拟键盘也会变透明,要写在setcontentview之前)	
	getWindow().requestFeature(Window.FEATURE_NO_TITLE);
	if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
   	 Window window = getWindow();
 	   window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
            | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
 	   window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
 	           | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
 	           | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
  	  window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
  	  window.setStatusBarColor(Color.TRANSPARENT);
  	  window.setNavigationBarColor(Color.TRANSPARENT);
}
1.3只改变上面的状态栏的颜色,不改变下面的颜色
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.TRANSPARENT);
}


2.人民币符号

¥

3.改部分字体颜色

String num[]={"0","1","2","3","4","5","6","7","8","9","[.]"};

task2=matcherSearchTitle(ContextCompat.getColor(R.color.num),datas.get(position).getContent(),num);

public SpannableString matcherSearchTitle(int color, String text, String[] keyword) {
    SpannableString s = new SpannableString(text);
    for (int i = 0; i < keyword.length; i++) {
        Pattern p = Pattern.compile(keyword[i]);
        Matcher m = p.matcher(s);
        while (m.find()) {
            int start = m.start();
            int end = m.end();
            s.setSpan(new ForegroundColorSpan(color), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    }
    return s;
}

4.特定部分文字变色

 String content=name1+name3+name2+":"+" "+reply+" "+"  "+time;

//                String num[]={name1,name2};
//                SpannableString  task2 = matcherSearchTitle(context.getResources().getColor(R.color.num),content,num);

                    SpannableStringBuilder builder = new SpannableStringBuilder(content);
                    int length1=name1.length();
                    int length2=name1.length()+2;
                    int length3=length2+name2.length();
                    //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色
                    //设置前景色
                    ForegroundColorSpan redSpan1 = new ForegroundColorSpan(context.getResources().getColor(R.color.num));
                    ForegroundColorSpan redSpan2 = new ForegroundColorSpan(context.getResources().getColor(R.color.num));
                    ForegroundColorSpan redSpan3 = new ForegroundColorSpan(context.getResources().getColor(R.color.num2));
                    ForegroundColorSpan redSpan4 = new ForegroundColorSpan(context.getResources().getColor(R.color.num2));
                    //第一个参数 设置用什么笔 第二个第三个参数,设置开始结束位置 开始结束的模式,有四种
                    /**
                     * Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前后都不包括,即在指定范围的前面和后面插入新字符都不会应用新样式
                     * Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。即仅在范围字符的后面插入新字符时会应用新样式
                     * Spannable.SPAN_INCLUSIVE_EXCLUSIVE :前面包括,后面不包括。
                     * Spannable.SPAN_INCLUSIVE_INCLUSIVE :前后都包括。
                     */
                    if(name1.equals("我")){
                        builder.setSpan(redSpan3, 0, length1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                    }else {
                        builder.setSpan(redSpan1, 0, length1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                    }
                    if(name2.equals("我")){
                        builder.setSpan(redSpan4, length2, length3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                    }else {
                        builder.setSpan(redSpan2, length2, length3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                    }

                    //设置背景色  参数一样的
                    //BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.parseColor("#88888888"));
                    //builder.setSpan(backgroundColorSpan, 0, 34, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                    

//fragment只执行一次:
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    //让方法只执行一次
    if (null != view) {
        ViewGroup parent = (ViewGroup) view.getParent();
        if (null != parent) {
            parent.removeView(view);
        }
    } else {
        view= inflater.inflate(R.layout.fragment_homepage,container,false);
        initView();
    }
    return view;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值