添加自定义视图到标签

添加自定义视图到标签

问题描述:

我想为我的标签添加自定义视图。我研究了互联网,但我找不到好的教程。我在onCreate事件中添加了此代码的选项卡。添加自定义视图到标签

 private String[] tabs = { "Tab 1", "Tab 2"}; 
     for (String tab_name : tabs) { 
      actionBar.addTab(actionBar.newTab().setText(tab_name) 
        .setTabListener(this)); 
     } 

我没有任何标签页的xml文件。

我该怎么做?你能给个例子吗 ?

首先,我建议你使用:

https://developer.android.com/samples/SlidingTabsBasic/src/com.example.android.common/view/SlidingTabLayout.html

不动作条标签使用。

这是一个google play应用程序标签的源代码。 之后,您可以创建自己的布局使用mSlidingTabLayout.setCustomTabView(int layoutResId, int textViewId)来扩展SlidingTabLayout选项卡视图的自定义布局。看:

Android SlidingTabLayout with icons

完整的例子。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

    <com.example.android.common.view.SlidingTabLayout 
      android:id="@+id/sliding_tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    <android.support.v4.view.ViewPager 
      android:id="@+id/viewpager" 
      android:layout_width="match_parent" 
      android:layout_height="0px" 
      android:layout_weight="1" 
      android:background="@android:color/white"/> 

</LinearLayout> 

,并在您fragmentactivity

mViewPager = (ViewPager) view.findViewById(R.id.viewpager); 
mViewPager.setAdapter(new MyAdapter()); 
mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs); 
mSlidingTabLayout.setViewPager(mViewPager); 

您的mViewPager适配器必须重写以下方法

@Override 
     public CharSequence getPageTitle(int position) { 
      return your tab title; 
     } 

UPDATE:

第一步是肌酐每个标签,以便纳克自定义布局:

 <?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/text1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_vertical" 
    android:paddingLeft="6dip" 
    android:minHeight="?android:attr/listPreferredItemHeight" 
/> 

那么当你想添加标签来动作条,你必须做到:

ActionBar.Tab tab1=actionBar.newTab(); 
    tab1.setTabListener(this); 
    tab1.setCustomView(R.layout.tab); 
    TextView txt1 = (TextView)tab1.getCustomView().findViewById(R.id.text1); 
    txt1.setText("Tab 1"); 
+0

我不能改变我的标签system.Because我使用这样的:HTTP ://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1还有另一种方法吗? – 2014-08-29 16:52:03

+0

为什么?这里的每一件事都是直截了当的,你只需要在布局中添加它并为其设置viewpager并覆盖getTitle(),如果你想我可以发布代码来运行它!但无论如何做你喜欢的! – mmlooloo 2014-08-29 16:59:33

+0

我会审查你的代码,请张贴它。 – 2014-08-29 17:01:43