title: How to set support library snackbar text color to something other than android:textColor?
body: <p>So I've started using the new Snackbar in the Design Support Library, but I found that when you define "android:textColor" in your theme, it applies to the text color of the snackbar. This is obviously a problem if your primary text color is dark.</p>
  
  <p><img src="https://i.stack.imgur.com/g4XR3.png" alt="enter image description here"></p>
  
  <p>Does anyone know a way around this or have advice for how I should color my text?</p>
  
  <p><strong>EDIT January 2017: (Post-Answer)</strong></p>
  
  <p>While there are some custom solutions to fix the problem below, it's probably good to provide the correct way to theme Snackbars.</p>
  
  <p>Firstly, you probably shouldn't be defining <code>android:textColor</code> in your themes at all (unless you really know the scope of what is using the theme). This sets the text color of basically every view that connects to your theme. If you want to define text colors in your views that are not default, then use <code>android:primaryTextColor</code> and reference that attribute in your custom views.</p>
  
  <p>However, for applying themes to <code>Snackbar</code>, please reference this quality guide from a third party material doc: <a href="http://www.materialdoc.com/snackbar/" rel="noreferrer">http://www.materialdoc.com/snackbar/</a> (Follow the programmatic theme implementation to have it not rely on an xml style)</p>
  
  <p>For reference:</p>
  
  <pre><code>// create instance
  Snackbar snackbar = Snackbar.make(view, text, duration);
  
  // set action button color
  snackbar.setActionTextColor(getResources().getColor(R.color.indigo));
  
  // get snackbar view
  View snackbarView = snackbar.getView();
  
  // change snackbar text color
  int snackbarTextId = android.support.design.R.id.snackbar_text;  
  TextView textView = (TextView)snackbarView.findViewById(snackbarTextId);  
  textView.setTextColor(getResources().getColor(R.color.indigo));
  
  // change snackbar background
  snackbarView.setBackgroundColor(Color.MAGENTA);  
  </code></pre>
  
  <p>(You can also create your own custom <code>Snackbar</code> layouts too, see the above link. Do so if this method feels too hacky and you want a surely reliable way to have your custom Snackbar last through possible support library updates).</p>
  
  <p>And alternatively, see answers below for similar and perhaps faster answers to solve your problem.</p>