gpt4 book ai didi

java - 在带有 dp 的 relativeLayout 中使用布局参数

转载 作者:太空狗 更新时间:2023-10-29 15:38:38 24 4
gpt4 key购买 nike

我正在制作一个应用程序,我希望能够使用其边距动态地移动 View 。我试过使用这个:

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)cover.getLayoutParams();
params.leftMargin= 470;
params.topMargin= 20;
cover.setLayoutParams(params); (cover is an ImageView)

此代码的问题在于它使用 px 而不是 dp。我还尝试使用 DisplayMetrics 将我的 px 值转换为 dp 但失败了。你能帮帮我吗?

最佳答案

需要根据dpi设置margin -

DisplayMetrics displayMetrics = new DisplayMetrics();
WindowManager windowManager = (WindowManager) MyActivity.this.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(displayMetrics);

现在您可以将边距设置为 -

params.leftMargin = Math.round(470 * displayMetrics.density);

关于java - 在带有 dp 的 relativeLayout 中使用布局参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799968/

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