如何获取在 Android 中添加我的视图的容器的宽度

发布于 2024-10-17 08:06:46 字数 187 浏览 1 评论 0原文

我在 LinearLayout 中有一个 ImageView 对象。我正在为 ImageView 设置动画,它将图像视图从点 x 移动到 y。现在,起点应该是父容器的右角。我的问题是,如何获取视图所在容器的尺寸。我在视图层次结构中没有看到 view.getParent().getWidth() 类型的方法。

I have a ImageView object inside a LinearLayout. I'm setting an animation to the ImageView which will move image view from point x to y. Now, starting point should be right corner of parent container. My question is , how do i get the dimension of the container in which the view is present. I don't see view.getParent().getWidth() kind of method in view hierachy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我为君王 2024-10-24 08:06:46

试试这个:

View parent = (View)view.getParent();
int width = parent.getWidth();

Try this:

View parent = (View)view.getParent();
int width = parent.getWidth();
你如我软肋 2024-10-24 08:06:46

也许您不需要,因为您可以使用 % 进行动画,如下所示:

<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="150" />

Perhaps you don't need to because you can use % for animation like this:

<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="150" />

欢你一世 2024-10-24 08:06:46

在父视图中添加视图后调用,否则会出现此异常
java.lang.NullPointerException:尝试调用虚拟方法“int android.view.View.getHeight()”

    int height = ((View) view.getParent()).getHeight();
    int width = ((View) view.getParent()).getWidth();

    int mHeight = ((View) view.getParent()).getMeasuredHeight();
    int mWidth = ((View) view.getParent()).getMeasuredWidth();

Call after view added in a parent view, otherwise you would this exeption
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getHeight()'

    int height = ((View) view.getParent()).getHeight();
    int width = ((View) view.getParent()).getWidth();

    int mHeight = ((View) view.getParent()).getMeasuredHeight();
    int mWidth = ((View) view.getParent()).getMeasuredWidth();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文