[解決済み] CollapsingToolbarLayoutのタイトルを折りたたみ時のみ表示する。
2022-04-25 14:55:48
質問
試してみたところ
setExpandedTitleColor
と
setCollapsedTitleColor
(透明への切り替え)がうまくいきません。 私が探しているものを実現する内蔵のメソッドも見当たりません。
CollapsingToolbarLayoutが完全に折りたたまれたときだけタイトルを表示し、それ以外は非表示にする必要があります。
何かヒントがあれば教えてください。
解決方法は?
を追加することができます。
OnOffsetChangedListener
に
AppBarLayout
を決定する。
CollapsingToolbarLayout
が折りたたまれたり展開されたりして、そのタイトルを設定します。
ジャワ
final CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsingToolbarLayout);
AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.appBarLayout);
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
boolean isShow = true;
int scrollRange = -1;
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (scrollRange == -1) {
scrollRange = appBarLayout.getTotalScrollRange();
}
if (scrollRange + verticalOffset == 0) {
collapsingToolbarLayout.setTitle("Title");
isShow = true;
} else if(isShow) {
collapsingToolbarLayout.setTitle(" ");//careful there should a space between double quote otherwise it wont work
isShow = false;
}
}
});
コトリン
var isShow = true
var scrollRange = -1
appBarLayout.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { barLayout, verticalOffset ->
if (scrollRange == -1){
scrollRange = barLayout?.totalScrollRange!!
}
if (scrollRange + verticalOffset == 0){
collapsingToolbarLayout.title = "Title Collapse"
isShow = true
} else if (isShow){
collapsingToolbarLayout.title = " " //careful there should a space between double quote otherwise it wont work
isShow = false
}
})
関連
-
armeabi-v7a armeabi arm64-v8a パラメータの意味説明
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
AndroidがMainActivityが包含クラスでないというエラーを報告する
-
android exception - aapt.exe has stopped working.
-
Windowsのadbシェルでデータディレクトリにアクセスするとパーミッションが拒否される
-
アンドロイドのエリプサイズを使用する
-
Android ProgressBarのスタイルカラーを変更する
-
Androidのカラーグラデーション実装のまとめ
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
android.os の NetworkOnMainThreadException。
-
AndroidStudio reports Could not resolve all artifacts for configuration ':app:classpath'.
-
cygwinのダウンロード、インストールチュートリアル、およびCDTの「makeプログラムがパスに見つからない」バグの解消
-
GIF、Lottie、SVGA
-
Androidで、onTouchEventでダブルクリックを実装し、ダブルクリックイベントとして判定する方法
-
アンドロイドのエリプサイズを使用する
-
Androidプロセス生存のためのソリューション
-
Androidの美しいSeekBarスタイルのカスタマイズ
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
Android Studioのgitの使用とgitの設定パス