Android将内容添加到自定义选项卡(Android Add content to Custom Tab)
我用这个链接来制作我的标签。 我想做到这一点 。 但我不知道如何将内容添加到自定义页面。
我已经阅读了很多但没有找到解决方案。 谢谢
I used this link to make my tabpages. And I want to make this. But I have no idea how to add content to the customized pages.
I've read a lot but found no solution. Thanks
最满意答案
注意:
以下代码仅适用于2.3.3或更高版本。 如果您将尝试较低的API级别,它将为您提供“默认tabhost”外观,每个选项卡下都有灰线。
尝试这个:
public class CustomTabActivity extends TabActivity { private TabHost mTabHost; private void setupTabHost() { mTabHost = (TabHost) findViewById(android.R.id.tabhost); mTabHost.setup(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // construct the tabhost setContentView(R.layout.main); setupTabHost(); mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider); setupTab(new TextView(this), "Tab 1"); setupTab(new TextView(this), "Tab 2"); setupTab(new TextView(this), "Tab 3"); mTabHost.setCurrentTab(2); } private void setupTab(final View view, final String tag) { View tabview = createTabView(mTabHost.getContext(), tag); TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(new Intent(this,Activity1.class)); mTabHost.addTab(setContent); } private static View createTabView(final Context context, final String text) { View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null); TextView tv = (TextView) view.findViewById(R.id.tabsText); tv.setText(text); return view; } }NOTICE:
Below code works only in 2.3.3 or above. If you will try in lower API level,It will give you "default tabhost" like look,with gray line under each tab.
Try this:
public class CustomTabActivity extends TabActivity { private TabHost mTabHost; private void setupTabHost() { mTabHost = (TabHost) findViewById(android.R.id.tabhost); mTabHost.setup(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // construct the tabhost setContentView(R.layout.main); setupTabHost(); mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider); setupTab(new TextView(this), "Tab 1"); setupTab(new TextView(this), "Tab 2"); setupTab(new TextView(this), "Tab 3"); mTabHost.setCurrentTab(2); } private void setupTab(final View view, final String tag) { View tabview = createTabView(mTabHost.getContext(), tag); TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(new Intent(this,Activity1.class)); mTabHost.addTab(setContent); } private static View createTabView(final Context context, final String text) { View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null); TextView tv = (TextView) view.findViewById(R.id.tabsText); tv.setText(text); return view; } }更多推荐
发布评论