0

I have an AppCompatActivity which has this layout:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v4.view.PagerTitleStrip
            android:id="@+id/pager_title_strip"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="#880ACE0A"
            android:textColor="@color/customWhiteText"
            android:paddingTop="4dp"
            android:paddingBottom="4dp"/>
    </android.support.v4.view.ViewPager>
    <!-- The navigation drawer -->
    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/drawer_header"
        app:menu="@menu/drawer_menu"
        style="@style/NavigationDrawerStyle"
        android:background="#045104"
        app:itemIconTint="@color/customWhiteText" />
</android.support.v4.widget.DrawerLayout>

My application shows an action bar in the top of the activity with a button which displays the navigationview menu.

I need to change the color of the text (which is showing app title) and the color of the menu button of the action bar shown at the top of my activity. How can that be done using XML layout files and styles.xml?

This is some code of my activity:

public class NewMainActivity extends AppCompatActivity {
    private String[] infoTitlesArray;

    private DrawerLayout drawerLayout;
    private ActionBarDrawerToggle drawerToggle;
    private NavigationView navigationView;
    private Activity activity;

    CollectionPagerAdapter collectionPagerAdapter;
    ViewPager viewPager;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        this.activity = this;

        infoTitlesArray = getResources().getStringArray(R.array.info_array);
        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        navigationView = (NavigationView) findViewById(R.id.navigation_view);

        collectionPagerAdapter = new CollectionPagerAdapter(getSupportFragmentManager());
        viewPager = (ViewPager) findViewById(R.id.pager);
        viewPager.setAdapter(collectionPagerAdapter);

        Util.setBackground(this, viewPager);

        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override public boolean onNavigationItemSelected(MenuItem menuItem) {
                int id = menuItem.getItemId();
                if (id == R.id.nav_device_info) {

                } else if (id == R.id.nav_manage) {

                } else if (id == R.id.nav_share) {

                } else if (id == R.id.nav_send) {

                } else if (id == R.id.nav_more_apps) {

                } else if (id == R.id.nav_about) {

                }

                Toast.makeText(activity, menuItem.getTitle(), Toast.LENGTH_SHORT).show();
                //menuItem.setChecked(true);

                DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
                drawer.closeDrawer(GravityCompat.START);
                return true;
            }
        });

        drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.drawer_open, R.string.drawer_close);
        drawerToggle.syncState();

        // Set the drawer toggle as the DrawerListener
        drawerLayout.addDrawerListener(drawerToggle);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);

    }
NullPointerException
  • 36,107
  • 79
  • 222
  • 382

1 Answers1

0

Finally I Found a way to achieve this with other strategy here:

Changing Background and text color of AppCompat Light DarkActionBar Theme on android

Is not exactly the strategy i was thinking on, but more or less it works

Community
  • 1
  • 1
NullPointerException
  • 36,107
  • 79
  • 222
  • 382