android 带有彩虹效果的标题
android title with rainbow effect
我需要在标题上添加彩虹效果,例如
图片。
有什么想法吗?
我找到了一些有关 textView 的答案,但没有找到有关工具栏标题的答案
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;
}
TextView tv= getToolBarTitleView(activity,toolbar);
if(tv!=null){
Shader textShader=new LinearGradient(0, 0, 0, 20,
new int[]{Color.YOURCOLOR,Color.YOURCOLOR},
new float[]{0, 1}, TileMode.CLAMP);
tv.getPaint().setShader(textShader);
}
else{
Log.e("MYPROJECT","No textview in toolbar . . . ");
}
我需要在标题上添加彩虹效果,例如
有什么想法吗?
我找到了一些有关 textView 的答案,但没有找到有关工具栏标题的答案
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;
}
TextView tv= getToolBarTitleView(activity,toolbar);
if(tv!=null){
Shader textShader=new LinearGradient(0, 0, 0, 20,
new int[]{Color.YOURCOLOR,Color.YOURCOLOR},
new float[]{0, 1}, TileMode.CLAMP);
tv.getPaint().setShader(textShader);
}
else{
Log.e("MYPROJECT","No textview in toolbar . . . ");
}