gpt4 book ai didi

java - View.getWidth() 显示正确的宽度,但在添加到 View 的 x 位置时无法产生右边距

转载 作者:行者123 更新时间:2023-12-02 10:15:31 27 4
gpt4 key购买 nike

所以我覆盖了另一个 View 的 View 。并尝试放置我的箭头,使其指向其下方的图像:

enter image description here

箭头是一个 ImageView,我设置了它的上边距和左边距以将其放置在正确的位置。我通过将其下方显示“今天没有拍照”的 TextView 的宽度添加到 TextView 的左边框位置来做到这一点。但有趣的是,箭头指向 TextView 的中间而不是末端。

    int topMargin=(int)pxToDp(getRelativeTop(dailyPhotos)+(int)dailyPhotos.getHeight(),this);
int leftMargin=(int)pxToDp(getRelativeLeft(dailyPhotos)+dailyPhotos.getWidth(),this);

getRelativeLeft() 我从这个 answer 复制的.

我在 Toast 中显示 TextView 的宽度和屏幕的宽度。它们都是正确的,因为 TextView 的宽度设置为 match_parent。我不知道出了什么问题。

    DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
Toast.makeText(this,"width="+dailyPhotos.getWidth()+", screen's width="+width,Toast.LENGTH_SHORT).show();
showNote.putExtra("photoCountTopMargin", topMargin);
showNote.putExtra("photoCountLeftMargin", leftMargin);

最佳答案

读取/更改 View 的边距需要在 View 的布局参数中完成

LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
layoutParams.topMargin = ddd (in pixels)

关于java - View.getWidth() 显示正确的宽度,但在添加到 View 的 x 位置时无法产生右边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54711972/

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