applica backgroundtint a background drawable per API 19

La tinta di sfondo viene applicata correttamente su API 23, ma non su API 19. Come posso ottenere il drawable tinto per API 19 e sotto?

Ovviamente la mia attività estende AppCompatActivity.

Questo ha funzionato per me sul dispositivo API19, supporta lib v7

disposizione

  

stili

  

È necessario utilizzare la libreria di supporto Android 22.1+ per utilizzare AppCompatButton http://android-developers.blogspot.se/2015/04/android-support-library-221.html

Ma sfortunatamente non sarai in grado di farlo nell’XML.

Nel onCreate della tua attività, al seguente:

 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AppCompatButton v = (AppCompatButton) findViewById(R.id.mybutton); ColorStateList csl = new ColorStateList(new int[][]{new int[0]}, new int[]{0xffffcc00}); v.setSupportBackgroundTintList(csl); } } 

Maggiori informazioni qui: il backgroundTol di Lollipop non ha alcun effetto su un pulsante

Suggerimento: forse sarai in grado di fare tutto con l’app xml: backgroundTint = “@ color / button_material_light”, ma non l’ho testato.

–MODIFICARE–

Controlla il secondo commento di ema3272 per la soluzione completa