我注意到某些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
(以及类似情况)是否有任何潜在的不良副作用?
答案 0 :(得分:1)
LinearLayout.LayoutParams
和ActionBar.LayoutParams
都继承自
ViewGroup.LayoutParams
。因此,它们在宽度和高度属性上的行为都相同。
供参考:https://developer.android.com/reference/android/view/ViewGroup.LayoutParams