如何将TabHost添加到android中的LinearLayout bu代码?

时间:2011-05-30 12:07:01

标签: android android-linearlayout

对于我的Android应用程序,我需要在LinearLayout中实现tabView。我能够将textview和按钮添加到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。任何方式这样做? 感谢名单

1 个答案:

答案 0 :(得分:0)

在xml中定义TabHost并使用tabHost.newTabSpec以编程方式添加选项卡时,如教程中所示,创建了以下结构:

LinearLayout
     TabHost>
          LinearLayout
               TabWidget
               FrameLayout
                   LinearLayout for tab 1
                   LinearLayout for tab 2
                   ...

我猜你需要在代码中复制这个嵌套 xml版本中的根 - LinearLayout的宽度和高度设置为fill_parent,方向设置为垂直。也许这也需要它才能发挥作用。