Как добавить TabHost в код LinearLayout в Android? - PullRequest
0 голосов
/ 30 мая 2011

Для моего приложения для Android мне нужно реализовать tabView внутри LinearLayout.Я мог бы добавить текстовое представление и кнопку к 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);

}

}

Я хочусделать то же самое для табуляции.Но я не смог найти способ добавить tabHost к моей lineaLayout.любой способ сделать это ??* 1009 спасибо *

1 Ответ

0 голосов
/ 30 мая 2011

При определении TabHost в xml и программном добавлении вкладок с помощью tabHost.newTabSpec, как это показано в учебном пособии, создается следующая структура:

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

Полагаю, вам необходимо повторить это вложение в коде.
Корень-LinearLayout в xml-версии имеет ширину и высоту, установленные для fill_parent и ориентации по вертикали.Может быть, это также необходимо для его работы.

...