如果我不需要高级功能,可以使用 LinearLayout.LayoutParams 吗?
Is it ok to use LinearLayout.LayoutParams in case I don't need advanced functionality?
我注意到一些 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
(和类似情况)是否有任何潜在的不良副作用?
LinearLayout.LayoutParams
和 ActionBar.LayoutParams
都继承自
ViewGroup.LayoutParams
。因此,它们对于宽度和高度属性的行为相同。
供参考:https://developer.android.com/reference/android/view/ViewGroup.LayoutParams
我注意到一些 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
(和类似情况)是否有任何潜在的不良副作用?
LinearLayout.LayoutParams
和 ActionBar.LayoutParams
都继承自
ViewGroup.LayoutParams
。因此,它们对于宽度和高度属性的行为相同。
供参考:https://developer.android.com/reference/android/view/ViewGroup.LayoutParams