如果我不需要高级功能,可以使用LinearLayout.LayoutParams吗?

时间:2018-05-31 16:26:45

标签: android android-actionbar android-linearlayout android-actionbar-compat

我注意到某些Android视图附带了LayoutParams的自定义版本,例如将ActionBar添加到LinearLayout时,我可以设置如下尺寸:

android.support.v7.app.ActionBar.LayoutParams params = new android.support.v7.app.ActionBar.LayoutParams(android.support.v7.app.ActionBar.LayoutParams.MATCH_PARENT, actionBarSize);
actionBar.setLayoutParams(params);  

但正如你所看到的,这非常罗嗦。所以我尝试使用LinearLayout.LayoutParams代替,这使得它更短,更易读,如此:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, actionBarSize);
actionBar.setLayoutParams(params);

我已经尝试了两个版本,但它们看起来完全一样。

这就是让我怀疑是否可以选择LinearLayout.LayoutParams,以防我不需要android.support.v7.app.ActionBar.LayoutParams等自定义版本提供的任何高级功能?

或者LinearLayout.LayoutParams使用ActionBar(以及类似情况)是否有任何潜在的不良副作用?

1 个答案:

答案 0 :(得分:1)

LinearLayout.LayoutParamsActionBar.LayoutParams都继承自 ViewGroup.LayoutParams。因此,它们在宽度和高度属性上的行为都相同。

供参考:https://developer.android.com/reference/android/view/ViewGroup.LayoutParams