2017-05-24 1 views
0

J'apprends le développement d'Android mais je suis vraiment confus par tous les trucs d'AppCompat. Je peux me tromper, mais AppCompat permet l'utilisation d'éléments modernes comme Material Design sur une ancienne version d'Android (inférieure à API 21). C'est cool, mais dans le but de mon apprentissage, je voulais créer une application pure API 21+, sans se soucier de la compatibilité rétro.Android - La barre d'outils introduite dans Lollipop nécessite AppCompatActivity?

Donc, je pourrais utiliser le "natif" android: Theme.Material au lieu de Theme.AppCompat.xxx. Mais quand il vient à la barre d'outils, il semble que je ne peux pas l'utiliser sans AppCompatActivity ...

Il est vraiment déroutant pour moi, Google semble publier de nouveaux composants qui ne sont compatibles que sur API 21+, mais vous ne pouvez pas les utiliser sans utiliser d'activités rétro-compatibles?

Si quelqu'un pouvait éclaircir un peu les choses, j'apprécierais grandement cela.

Répondre

3

Mais quand il vient à croire La barre d'outils que je ne peux l'utiliser sans AppCompatActivity

Gardez à l'esprit qu'il ya deux Toolbar classes:

  • android.widget.Toolbar , disponible sur Android 5.0+ (API niveau 21+)

  • android.support.v7.widget.Toolbar, qui exige appcompat-v7 et AppCompatActivity et tout cela, mais fonctionnera retourner à l'API de niveau 14 (et, avec les anciennes versions de appcompat-v7, de retour à l'API Niveau 7)

Ainsi, vous choisissez le Toolbar implémentation qui correspond à votre environnement choisi.

+0

Ok, c'est là que je me suis trompé! Mais même sur le site de développement Android, il est presque impossible de trouver une référence à android.widget.Toolbar. Tout l'Internet semble connaître seulement android.support.v7.widget.Toolbar. Même le concepteur d'Android Studio n'affiche pas android.widget.Toolbar. – Karnalta