[英]Android - Problems with animate() in different screen sizes
我在使用不同屏幕尺寸的 animate() 時遇到了這個問題。 我在我的 s9+ 上測試了所有東西,當我在 Moto g3 上測試同樣的東西時,我用 animate().translationY 動畫的布局是一場災難。 所以我用谷歌搜索了一下,當然我做的事情是錯誤的。 我在這里發現我必須使用這段代碼:
Float distance = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 770,
getResources().getDisplayMetrics()
);
(770) 是我的價值。
然后cardViewBottom.animate().translationY(distance).setDuration(1);
但我的結果並不好。 在我的 s9+ 中 770 是正確的值,而在我的 moto g3(較小的設備)中是 560 的值。 我不知道該怎么辦。
嘗試這個:
val metrics = DisplayMetrics()
windowManager?.defaultDisplay?.metrics(metrics)
val width = metrics.density
val distance = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, width,
resources.displayMetrics)
不確定 TypedValue.applyDimension 的參數是什么 如果你需要像素然后metrics.widthPixels
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.