获取Toolbar中title的TextView

来源:互联网 发布:vs2010 编译php扩展 编辑:程序博客网 时间:2024/06/06 18:31
观察微信打开或关闭页面时,titlebar中的text是渐变的,心想丫的藏这么深,我得学来~然后。。尼玛。。Api中根本没提供类似getTitleTextView的方法,搞了半天反射,莫名其妙也获取不到。。。最后,在stackoverflow发现一神作,代码写的真叫一干脆,来吧,拿走~
    public static TextView getToolbarTitleView(ActionBarActivity activity, Toolbar toolbar){    ActionBar actionBar = activity.getSupportActionBar();    CharSequence actionbarTitle = null;    if(actionBar != null)        actionbarTitle = actionBar.getTitle();    actionbarTitle = TextUtils.isEmpty(actionbarTitle) ? toolbar.getTitle() : actionbarTitle;    if(TextUtils.isEmpty(actionbarTitle)) return null;    // can't find if title not set    for(int i= 0; i < toolbar.getChildCount(); i++){        View v = toolbar.getChildAt(i);        if(v != null && v instanceof TextView){            TextView t = (TextView) v;            CharSequence title = t.getText();            if(!TextUtils.isEmpty(title) && actionbarTitle.equals(title) && t.getId() == View.NO_ID){                //Toolbar does not assign id to views with layout params SYSTEM, hence getId() == View.NO_ID                //in same manner subtitle TextView can be obtained.                return t;            }        }    }    return null;}
0 0
原创粉丝点击