gpt4 book ai didi

Android - 在 api 8 中使用 view.setX() 和 setY

转载 作者:IT老高 更新时间:2023-10-28 23:40:40 25 4
gpt4 key购买 nike

我正在开发 android api8。我想在屏幕上动态定位/放置 View 。但要使用 setX 和 setY,我们需要 API 级别 11 及以上。我们如何在 API 8 中使用它,或者有什么替代方法吗?需要帮助

最佳答案

您可以使用 LayoutParams 来做到这一点。这些可以添加到 android 界面的组件中以设置它们的边界和位置。

一个示例(在 RelativeLayout 的 subview 上设置 LayoutParams)

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); //The WRAP_CONTENT parameters can be replaced by an absolute width and height or the FILL_PARENT option)
params.leftMargin = 50; //Your X coordinate
params.topMargin = 60; //Your Y coordinate
childView.setLayoutParams(params);

请注意,LayoutParams 的类型必须等于要添加它们的 subview 的父级。 (LinearLayout.LayoutParams 用于 LinearLayoutRelativeLayout.LayoutParams 用于 RelativeLayout 等。

另外,您也可以使用 parentView.addView(childView,params); 代替 childView.setLayoutParams(params); 来设置添加项目时的 Layoutparams到父容器。

注意!坐标值以像素为单位。由于使用 DP 值来定义界面尺寸是最佳实践,因此您可以使用这段代码将 dp 转换为像素:

private int getPixels(int dipValue){ 
Resources r = getResources();
int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, r.getDisplayMetrics());
return px;
}

关于Android - 在 api 8 中使用 view.setX() 和 setY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12195768/

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