簡體   English   中英

小吃店的自定義幻燈片動畫

[英]custom slide animation of snackbar

我在布局的頂部做了一個小吃店。 但是,當它出現時,它向上滑動,當它消失時,它向下滑動。 我的願望是讓它從屏幕頂部出現並向下滑動,反之亦然。

CoordinatorLayout coordinatorLayout = findViewById(R.id.v_set_bgs);
snackbar = Snackbar.make(coordinatorLayout, R.string.changes, Snackbar.LENGTH_INDEFINITE);
View view = snackbar.getView();
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) view.getLayoutParams();
params.gravity = Gravity.START;
TextView snackbarText = view.findViewById(android.support.design.R.id.snackbar_text);
snackbarText.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
view.setLayoutParams(params);
view.setAlpha(0.75f);
if (snackbarShow && isAlready == 0 && AppSettings.isChanged) {
    isAlready = 1;
    snackbar.show();
}

所以。 到目前為止,它就像一個普通的小吃店(在布局的頂部)。 我只是找不到任何方法來改變滑動方向。

根據文檔

Snackbars 提供關於操作的輕量級反饋。 它們在移動設備的屏幕底部和較大設備的左下方顯示一條簡短的消息。 Snackbar 出現在屏幕上所有其他元素的上方,並且一次只能顯示一個。

您可以做的最佳選擇是擴展Snackbar類並覆蓋show方法或其他負責動畫的方法

這使得 Snackbar 出現在頂部而沒有奇怪的過渡幻燈片。

Kotlin 中最好的簡單解決方案:

val snackbar = Snackbar.make(view, string, Snackbar.LENGTH_LONG)
val layoutParams = LayoutParams(snackbar.view.layoutParams)

layoutParams.gravity = Gravity.TOP
snackbar.view.setPadding(0, 10, 0, 0)
snackbar.view.layoutParams = layoutParams
snackbar.animationMode = BaseTransientBottomBar.ANIMATION_MODE_FADE
snackbar.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM