Navigation drawer change color

2019-01-26 17:18发布

I am using Navigation drawer using this example. I want just change blue color to orange color how could I do this? I mean change listview selector color, actionbar selctor color everything.

7条回答
We Are One
2楼-- · 2019-01-26 17:46

For ActionBar backgroownd:

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:actionBarItemBackground">@drawable/bg_actionbar</item>
</style>
</resources>
查看更多
叛逆
3楼-- · 2019-01-26 17:46

Use Selector to achieve this. You can use either @drawable or @color.

item android:drawable="@drawable/list_item_bg_pressed" android:state_pressed="true"/>

item android:drawable="@drawable/list_item_bg_normal" android:state_activated="false"/>

item android:drawable="@drawable/list_item_bg_selected" android:state_activated="true"/
查看更多
再贱就再见
4楼-- · 2019-01-26 17:53

I would like to contribute to the answer given by @Raghunandan. In the list you can distinguish between items clicked (android:state_pressed) from items activated (android:state_activated), so if you click on the item in the list that is activated, the click is visualized.

Create an activated.xml under the drawable folder:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#6A6A6A"/>
</shape>

And modify the selector.xml adding the state_activated modifier:

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

    <item android:state_activated="true" 
        android:drawable="@drawable/activated" />

    <item android:state_focused="false" 
        android:drawable="@drawable/normal" />
</selector>
查看更多
趁早两清
5楼-- · 2019-01-26 17:54

You need to use selectors.

Check this tutorial for more. customizing listviews

查看更多
家丑人穷心不美
6楼-- · 2019-01-26 18:02

You can use a selector

in drawable folder have selector.xml as below

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" 
        android:drawable="@drawable/press" />
    <item  android:state_focused="false" 
        android:drawable="@drawable/normal" />
</selector>

In drawable folder press.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FF9D21"/>     
</shape>

In drawable foldernormal.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#8BC7EB"/>    
</shape>

In the drawer_list_item.xml

android:background="@drawable/selector"

For styling the bar

  <resources>

    <!--
        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
         <item name="android:background">@style/MyActionBar</item>
        <!-- API 11 theme customizations can go here. -->
    </style>
    <style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
        <item name="android:background">@drawable/press</item>

    </style>
</resources>

In your manifest

 <activity
        android:name=".MainActivity"
          android:theme="@style/MyActionBar"
        android:label="@string/app_name">

You can specify the theme for a particular activity instead of entire application.

More information

http://android-developers.blogspot.in/2011/04/customizing-action-bar.html

https://developer.android.com/training/basics/actionbar/styling.html

Snap shot

enter image description here

查看更多
做自己的国王
7楼-- · 2019-01-26 18:08

You have to do 2 things for this.

  1. for listview create your customize listview selector (see answer @raghunandan )
  2. for actionbar Go here create your style and set your style from manifest, set your application theme your created style
查看更多
登录 后发表回答