安卓ViewGrop笔记1-layoutparams
在 `ViewGroup.LayoutParams` 中,**参数的单位取决于具体的属性和设置方式**。以下是常见的单位说明: | 属性/方法 | 单位 | 说明 | |----------------------|--------------------|----------------------------------------------------------------------| | `width` 和 `height` | 像素(px) | 通常使用 `MATCH_PARENT`、`WRAP_CONTENT` 或具体像素值(如 `100`) | | `setMargins(left, top, right, bottom)` | 像素(px) | 设置边距时传入的是像素值,如果需要使用 dp,需手动进行 dp 转 px | ### 示例:dp 转 px 设置边距 ```java // 将 dp 转换为 px public static int dpToPx(int dp, Context context) { return (int) (dp * context.getResources().getDisplayMetrics().density); } LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT ); int marginInDp = 10; int marginInPx = dpToPx(marginInDp, context); params.setMargins(marginInPx, marginInPx, marginInPx, marginInPx); button.setLayoutParams(params); ``` ### 总结 - **默认单位是像素(px)** - 如果希望使用 **dp(密度无关像素)**,需要手动将 dp 转换为 px 再传入。
浙公网安备 33010602011771号