我在我的应用程序中有这段代码:
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
我只想将LinearLayout的方向设置为垂直方向。在XML中等效的代码是:
android:orientation="vertical"
我该如何在代码中实现它,而不需要使用XML?
我在我的应用程序中有这段代码:
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(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.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。
如果有其他像我一样寻找Xamarin答案的人,请注意,其等效物为:
LinearLayout layout = /* ... */;
layout.Orientation = Orientation.Vertical;
layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
myLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
myLayout.setLayoutParams(layoutParams);
使用方法如下:
LinearLayout mlayout = new LinearLayout(context);
mlayout.setOrientation(2);
2代表垂直
,1用于水平
。
myLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
- otaku