KitKat之前的LinearLayout.LayoutParams

时间:2014-11-18 20:15:38

标签: android

我有以下代码段:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
                            params.setMargins(56, 0, 0, 0);
                            final float scale = context.getResources().getDisplayMetrics().density;
                            int pixels = (int) (48 * scale + 0.5f);
                            params.height = pixels;
                            standardTextView.setLayoutParams(params);
                    }

我发现LinearLayout.LayoutParams只能从API 19(KitKat)获得。有没有办法可以在KitKat设备上面执行上述代码,遗憾的是我没有找到任何替代方案。

由于

2 个答案:

答案 0 :(得分:1)

LinearLayout.LayoutParams在Api Level 1中添加,请参见此处:

http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html

但你可以用一个新的:

创建你的参数
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);

如果你想以像素为单位应用高度,只需立即使用:

new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, pixels);

答案 1 :(得分:0)

LinearLayout.LayoutParams自API级别1以来一直存在。

只要您不使用以前版本中未提供的任何其他API,您就可以在较低版本中使用它而不会出现问题。