我想做的事情,但不知道如何...這將是一個按鈕,從屏幕底部滑到某個位置,由某件事引發。非常類似於小吃店展示的方式,區別在於它保持在原位而不是消失,並具有「可點擊」的特性。這不是可從底部拖動的面板,而是由某種東西自動滑動的面板。製作「從底部滑動」按鈕(類似於快餐欄)(Android)
我該如何做到這一點?
我想做的事情,但不知道如何...這將是一個按鈕,從屏幕底部滑到某個位置,由某件事引發。非常類似於小吃店展示的方式,區別在於它保持在原位而不是消失,並具有「可點擊」的特性。這不是可從底部拖動的面板,而是由某種東西自動滑動的面板。製作「從底部滑動」按鈕(類似於快餐欄)(Android)
我該如何做到這一點?
聽起來像沿着y
軸的一個相當直接的動畫,其起始值與屏幕高度相匹配(使其僅顯示在屏幕外),無論最終值是什麼。下面的代碼來自內存,但它應該工作。
要抓取屏幕高度:
int getScreenHeight() {
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
return displaymetrics.heightPixels;
}
並以動畫的視圖(在這種情況下,對於總的屏幕高度的80%):由下
void animateOnScreen(View view) {
final int screenHeight = getScreenHeight();
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "y", screenHeight, (screenHeight * 0.8F));
animator.setInterpolator(new DecelerateInterpolator());
animator.start();
}
我剛剛回復說...我愛你... –
哦,順便說一句...我有一個列表視圖在視圖滑動的佈局,你知道我怎麼可以創造額外的空間滑動面板推動列表視圖,因此不會隱藏列表中的最後一個項目/項目? –
@LuchitoMarcano不客氣!至於你的第二個問題,我想可以想象答案在於使用'CoordinatorLayout' - 如果在這種類型的佈局中包裝佈局'xml'文件不會自動隨機播放視圖以響應動畫,[Snackbar源代碼](https://github.com/android/platform_frameworks_support/blob/master/design/src/android/support/design/widget/Snackbar.java)可能會提供一些進一步的想法。 – PPartisan
滑動視圖距離:
view.animate().translationY(distance);
您可以查看後滑回原來的位置是這樣的:
view.animate().translationY(0);
看看翻譯動畫的例子。它用於在指定的時間內將某個視圖從某個點移動到另一個點。 – oiyio