web-dev-qa-db-ja.com

CollapsingToolbarLayoutの拡張タイトルを複数行にするにはどうすればよいですか?

私の問題は次です。 CollapsingToolbarLayoutタイトルとして比較的大きなテキストを使用するため、複数行モードとして表示する必要があります。 setExpandedTitleTextAppearance()メソッドを使用してテキストの外観を変更しようとすると、機能しません。使用したコードは次のとおりです。

<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

省略記号を表示するのではなく、複数行でタイトルを見たい

26
garciparedes

このライブラリをチェックアウト multiline-collapsingtoolbar

multiline-collapsingtoolbarは、Android Design Support LibraryのCollapsingToolbarLayoutに代わるもので、拡張状態の複数行タイトル(現在は最大3行にハードコードされています)を処理できます。ツールバーを折りたたむ場合、タイトルの下の行がフェードアウトして、上の行のみが表示されます。

デザインサポートライブラリとして、API 7(Android 2.1)以上と互換性がある必要があります

18
Amit Vaghela

これは現在サポートされていないようです。可能な回避策は、独自のビューを使用して、展開時にツールバーのタイトルを非表示にすることです。これを行う1つの方法は次のとおりです。

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

サポートライブラリの将来のバージョンでこれが追加されることを願っています。

5
bkurzius

より簡単な方法は、CollapsingToolbarに追加されたカスタムレイアウトを追加して固定することです。

注意すべきいくつかの注意事項:

  • ツールバーには、折りたたまれたコンテンツの高さが必要です。これは、コードまたはXMLで実行できます。
  • 非表示にする要素は、レイアウトXMLファイルのツールバー定義の前にある必要があります
  • 表示したままにする要素は、レイアウトXMLファイルのツールバー定義の後にある必要があります。

完全なコードを確認してください こちら 。最終結果は次のとおりです。

Multiline toolbar

4
JavierSP1209

このライブラリの助けを借りてこれを行いました

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

ライブラリをプロジェクトに追加し、CollapsingToolbarLayoutnet.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayoutに置き換えます

2
Nilabja