代码中的布局方向
我在我的应用程序中有这个代码:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
我只想将LinearLayout的方向设置为垂直。 XML中的等价物是:
android:orientation="vertical"
如何在代码中执行此操作,而不使用XML?
您无法使用其LayoutParams
更改LinearLayout
的方向。 它只能用LinearLayout
对象完成。
LinearLayout layout = /* ... */; layout.setOrientation(LinearLayout.VERTICAL);
你可以像这样使用:
LinearLayout myll = (LinearLayout) findViewById(R.id.yourLinearLayout); myll.setLayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT); myll.setOrientation(LinearLayout.VERTICAL);
你需要实例LinearLayout。 之后你可以调用setOrientation()
LinearLayout myLayout = ...; myLayout.setLayoutParams(new LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT); myLayout.setOrientation(LinearLayout.VERTICAL);
这应该做的工作:)
有关更多信息,请查看Android API 。
下面的一个工作示例(它是LayoutParams.WRAP_CONTENT,而不是LinearLayout.WRAP_CONTENT)
myLayout.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); myLayout.setLayoutParams(layoutParams);
如果有人像我这样来到这里寻找Xamarin的答案,那么相当于:
LinearLayout layout = /* ... */; layout.Orientation = Orientation.Vertical; layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
简单地使用如下:
LinearLayout mlayout = new LinearLayout(context); mlayout.setOrientation(2);
2表示Vertical
,1表示horizontal
。