web-dev-qa-db-fra.com

Comment puis-je multiligner le titre développé de CollapsingToolbarLayout?

Mon problème est le suivant. J'utiliserais des textes relativement gros comme titre CollapsingToolbarLayout, je dois donc l'afficher en mode multiligne. Lorsque j'essaie de modifier l'apparence du texte via la méthode setExpandedTitleTextAppearance(), cela ne fonctionne pas. Le code que j'ai utilisé est le suivant:

<style name="ToolbarExpandedTitle">
    <item name="Android:textSize">48sp</item>
    <item name="Android:shadowColor">#ffffff</item>
    <item name="Android:textColor">@Android:color/white</item>
    <item name="Android:singleLine">false</item>
    <item name="Android:minLines">3</item>
    <item name="Android:lines">4</item>
    <item name="Android:maxLines">5</item>
</style>

enter image description here

Je voudrais voir le titre sur plusieurs lignes au lieu d'afficher les points de suspension.

26
garciparedes

Extraire cette bibliothèque multiline-collapsingtoolbar .

multiline-collapsingtoolbar est un remplacement de CollapsingToolbarLayout de la bibliothèque de support de conception Android Design qui peut traiter les titres multilignes (actuellement codés en dur sur un maximum de 3 lignes) à l'état développé. Lors de la réduction de la barre d'outils , les lignes inférieures du titre s'estompent pour ne laisser visible que la ligne supérieure.

En tant que bibliothèque de support de conception, elle doit être compatible avec l'API 7 (Android 2.1) et au-dessus

18
Amit Vaghela

Cela ne semble pas être pris en charge à l'heure actuelle. Une solution de contournement possible consiste à utiliser votre propre vue et à masquer le titre de la barre d'outils lorsqu'il est développé. Une approche pour ce faire est ici:

https://stackoverflow.com/a/31529101/834692

J'espère qu'une future version de la bibliothèque de support l'ajoutera.

5
bkurzius

Une approche plus simple serait d'ajouter une disposition personnalisée ajoutée à la barre d'outils Collapsing et de l'épingler.

Quelques notes à prendre en compte:

  • La barre d'outils doit avoir la hauteur de votre contenu réduit, cela peut être fait par code ou au format XML.
  • Les éléments que vous souhaitez masquer doivent être AVANT la définition de la barre d'outils dans le fichier XML de mise en page
  • Les éléments que vous souhaitez conserver visibles doivent être APRÈS la définition de la barre d'outils dans le fichier XML de mise en page.

Commander le code complet ici . Le résultat final est:

Multiline toolbar

4
JavierSP1209

Je l'ai fait avec l'aide de cette bibliothèque

https://github.com/opacapp/multiline-collapsingtoolbar

ajoutez la bibliothèque à votre projet et remplacez le CollapsingToolbarLayout par net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout

2
Nilabja