问题描述
|
对于我的android应用程序,我需要在LinearLayout中实现tabView。我可以像这样将textview和button添加到LinearLayout中,
public CreateView(Context context) {
super(context);
LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
Button button = new Button(context);
button.setText(\"Submit\");
button.setLayoutParams(llp);
TextView tv = new TextView(context);
tv.setText(\"This is a test\");
tv.setLayoutParams(llp);
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);
this.addView(tv);
this.addView(button);}
在我的Activity类中,我将这些添加为
public class MyLinearLayout extends Activity {
LinearLayout ll;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ll = new LinearLayout(this);
ll.addView(new CreateView(this));
setContentView(ll);
}
}
我想对tabview做同样的事情。但是我找不到将tabHost添加到lineaLayout的方法。任何方式做到这一点?
谢谢
解决方法
在xml中定义TabHost并使用tabHost.newTabSpec以编程方式添加标签时(如本教程所示),将创建以下结构:
LinearLayout
TabHost>
LinearLayout
TabWidget
FrameLayout
LinearLayout for tab 1
LinearLayout for tab 2
...
我想您需要在代码中复制此嵌套。
xml版本中的root-LinearLayout的宽度和高度设置为fill_parent,方向设置为垂直。也许这也需要它才能起作用。