какой эквивалентный код для Android: layout_above = "@ android: id / tabs"? - PullRequest
3 голосов
/ 20 ноября 2010

Я создал TabWidget

TabWidget tabWidget = new TabWidget(this);
        tabWidget.setId(android.R.id.tabs);

и FrameLayout

FrameLayout frameLayout = new FrameLayout(this);
        frameLayout.setId(android.R.id.tabcontent);

как сделать framelayout над вкладками?

**what is the equivalent code to "android:layout_above="@android:id/tabs"**

EDIT

я делаю с этим кодом, это правильно?

TabHost tabHost = new TabHost(this);
tabHost.setLayoutParams(
                new RelativeLayout.LayoutParams(
                        LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,1));
 TabWidget tabWidget = new TabWidget(this);
        tabWidget.setId(android.R.id.tabs);

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height);
lp.addRule(RelativeLayout.ABOVE, R.id.tabcontent);
tabWidget.setLayoutParams(lp);

tabHost.addView(tabWidget);
FrameLayout frameLayout = new FrameLayout(this);
        frameLayout.setId(android.R.id.tabcontent);
        frameLayout.setPadding(0, 55, 0, 0);
tabHost.addView(frameLayout, new RelativeLayout.LayoutParams(
                  LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
tabHost.setup();

1 Ответ

5 голосов
/ 20 ноября 2010
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height);
lp.addRule(RelativeLayout.ABOVE, R.id.tabcontent);
tabWidget.setLayoutParams(lp);
...