gpt4 book ai didi

android - 如何确定 View 和屏幕顶部之间的像素数

转载 作者:行者123 更新时间:2023-11-30 01:51:05 25 4
gpt4 key购买 nike

我正在使用动画将 View 滑动到屏幕顶部。问题在于翻译参数只能用像素来表示。

view.animate().translationY(
// argument must be stated in pixels
);

如何返回跨越 View 和屏幕顶部之间空间的像素数,以便我可以将此数字作为参数传递。

请注意,我希望 View 在动画结束时位于状态栏下方,并且 View 不应与状态栏相交。

此外,请注意,我尝试设置动画的 View 嵌套在绝对布局中,如果这会有所不同的话

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp"
tools:context=".MainActivity">

<!-- The view I am an animating -->
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:layout_y="300dp"/>

</AbsoluteLayout>

最佳答案

  • 建议 1:

您可以使用 View.getLocationOnScreen()View.getLocationInWindow()在屏幕/窗口 (x,y) 中获取 View 的坐标。

确保计算 View 的大小和位置后调用这些方法,否则它们将返回 0。

  • 建议 2:

在您的情况下( View 的父级是根布局),您可以使用 View.getTop() ,它将返回 View 相对于其父 View 的顶部位置。

关于android - 如何确定 View 和屏幕顶部之间的像素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33048074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com