2014-12-20 3 views
0

Я не могу понять, почему я не могу изменить цвет текста текст в панели действий ..Изменение Android ActionBar Название Цвет

Я пытался несколько комбинаций стилей, и я, кажется, не видеть почему один из них еще не работал.

Я использовал пользовательский шрифт и думал, что, возможно, он имеет какое-то отношение к шрифту, но с тех пор я попытался изменить цвет родного шрифта. Ниже вы можете найти, где я сейчас стоял, я попробовал несколько многослойных стилей, но безрезультатно. Кто-нибудь сталкивался с этой проблемой?

Вот моя самая последняя попытка изменения цвета текста действия бар

<resources> 
<style name="AppTheme" parent="Theme.AppCompat"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/teal_500</item> 
    <item name="android:actionBarStyle">@style/ActionBarStyle</item> 
</style> 

<style name="ActionBarStyle" 
     parent="Widget.AppCompat.ActionBar"> 
    <item name="android:background">@color/teal_500</item> 
    <item name="android:titleTextStyle">@style/ActionBarTitleColor</item> 
</style> 

<style name="ActionBarTitleColor" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <!-- Customize your theme here. --> 
    <item name="android:textColor">@color/teal_50</item> 
</style> 
</resources> 

Вот основная деятельность

public class MainActivity extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    configureTitle(); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

private void configureTitle(){ 
    // SpannableString s = new SpannableString("Photoswap"); 
    //s.setSpan(new TypefaceSpan(this, "Pacifico.ttf"), 0, s.length(), 
      // Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

    // Update the action bar title with the TypefaceSpan instance 
    // ActionBar actionBar = getSupportActionBar(); 
    // actionBar.setTitle(s); 


} 

}

ответ

0

ШАГ 1: Захват ID для action_bar_title

int titleId = getResources().getIdentifier("action_bar_title", "id", "android"); 

ШАГ 2: Использование TextView

TextView abTitle = (TextView) findViewById(titleId); 
abTitle.setTextColor(colorId); 
Смежные вопросы