2013-06-28 5 views
0

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

Это мой actionbar.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/delObjs" 
    android:showAsAction="always" 
    android:title="@string/history"/> 
<item 
    android:id="@+id/settings" 
    android:showAsAction="ifRoom" 
    android:title="@string/settings"/> 
<item android:id="@+id/demo" 
    android:showAsAction="always" 
    android:title="@string/demo" 
    ></item> 

Таким образом, есть три атрибута в моей истории ActionBar, настройки и демонстрации. Если я нажму на один из них, его цвет должен измениться.

+0

Можете ли вы быть более конкретным: текст которого вы пытаетесь изменить? Это что-то в вашем макете? Это что-то в панели действий? – Karakuri

ответ

0

Если вы говорите об Textview, вы можете просто применить onClickListener в Textview и изменить цвет в методе onClick.

TextView textView = (TextView) findViewById(R.id.textview_id); 

textView.setOnClickListener(new OnClickListener() { 

public void onClick(View view) { 

    //Your code, you can use a switch if you have multiple textviews 

} 
}); 

РЕДАКТИРОВАТЬ

разреш/значения/colors.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

<color name="orange_base">#BD9B35</color> 
<color name="orange_stroke">#BA8C00</color> 
<color name="orange_start">#E0C265</color> 
<color name="orange_end">#DEAA10</color> 

</resources> 

и пример для селектора

разреш/Drawable/anyname.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" android:color="@colors/yellow"/> 
<item android:color="@colors/red"/> 
</selector> 

добавить это в ваш стиль

<style name="AppTheme" parent="android:Theme.Holo"> 
    <item name="android:actionMenuTextColor">@color/action_item_text_color</item> 
</style> 

затем в ActionBar вы можете просто использовать

style="@style/AppTheme" 
+0

Нет, о тексте в панели действий, например настройках, истории. Если я нажимаю на настройки, я хочу, чтобы слово меняло свой цвет. –

+0

, тогда вы можете объявить стиль и использовать селектор, чтобы сделать это – Eriz

+0

aaha .... попробуйте http://stackoverflow.com/a/14197612/2468752 – Eriz