Android 如何在选项卡中设置图标和文本,而不是只设置文本

Android 如何在选项卡中设置图标和文本,而不是只设置文本,android,text,tabs,icons,Android,Text,Tabs,Icons,我创建了一个选项卡,并尝试在选项卡布局中放置图标和文本,但它始终只显示文本。我也尝试过只显示图标,但在getResource().getDrawable()方面遇到了问题,并且尝试过为getDrawable()放置上下文,但仍然存在问题 这是我的ViewPagerAdapter的代码 public class ViewPagerAdapter extends FragmentStatePagerAdapter { CharSequence Titles[]; int NumbOfTabs;

我创建了一个选项卡,并尝试在选项卡布局中放置图标和文本,但它始终只显示文本。我也尝试过只显示图标,但在getResource().getDrawable()方面遇到了问题,并且尝试过为getDrawable()放置上下文,但仍然存在问题

这是我的ViewPagerAdapter的代码

public class ViewPagerAdapter extends FragmentStatePagerAdapter {

CharSequence Titles[]; 
int NumbOfTabs;

Context mContext;

private int[] icons = {
        R.drawable.abouttab,
        R.drawable.programmetab,
        R.drawable.speakerstab,
        R.drawable.mapstab,
        R.drawable.twittertab
};

public ViewPagerAdapter(FragmentManager fm,CharSequence mTitles[], int mNumbOfTabsumb, Context context) {
    super(fm);

    this.Titles = mTitles;
    this.NumbOfTabs = mNumbOfTabsumb;
    this.mContext = context;

}

@Override
public Fragment getItem(int position) {

    if(position == 0)
    {
        Tab_About tab_about = new Tab_About();
        return tab_about;
    }
    else if(position == 1)        
    {
        Tab_one tab_one = new Tab_one();
        return tab_one;

    }else if(position == 2){
        Tab_two tab_two = new Tab_two();
        return tab_two;
    }else if(position == 3){
        Tab_three tab_three = new Tab_three();
        return tab_three;
    }else{
        Tab_four tab_four = new Tab_four();
        return tab_four;
    }

}

@Override
public CharSequence getPageTitle(int position) {
    return Titles[position];
}

// This method return the Number of tabs for the tabs Strip

@Override
public int getCount() {
    return NumbOfTabs;
}
}

对于getPageTitle()函数,我也尝试了这段代码只显示图标,但正如我上面所说的,getDrawable()有问题

在我的主要活动中

public class MainActivity extends AppCompatActivity {

private Toolbar toolbar;
private ViewPager mPager;
private ViewPagerAdapter adapter;
private SlidingTabLayout mTabs;
private Context mContext;

CharSequence Titles[] = {"One", "Two", "Three", "Four", "Five"};
int Numboftabs = 5;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    toolbar = (Toolbar) findViewById(R.id.tool_bar); 
    setSupportActionBar(toolbar);
    getSupportActionBar().setElevation(0); 

    adapter = new ViewPagerAdapter(getSupportFragmentManager(), Titles, Numboftabs, mContext);

    // Assigning ViewPager View and setting the adapter
    mPager = (ViewPager) findViewById(R.id.pager);
    mPager.setAdapter(adapter);

    // Assigning the Sliding Tab Layout View
    mTabs = (SlidingTabLayout) findViewById(R.id.tabs);
    mTabs.setDistributeEvenly(true); // To make the Tabs Fixed set this true, This makes the tabs Space Evenly in Available width

    // Setting Custom Color for the Scroll bar indicator of the Tab View
    mTabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
        @Override
        public int getIndicatorColor(int position) {
            return getResources().getColor(R.color.tabsIndicator);
        }
    });
mTabs.setSelectedIndicatorColor(getResources().getColor(R.color.tabsIndicator)); mTabs.setViewPager(mPager); }


有人能帮我吗?非常感谢您…

创建如下自定义布局

<?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:gravity="center_horizontal"
    android:orientation="vertical" >

<ImageView
    android:id="@+id/tabIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:paddingTop="2dp" />

<TextView
    android:id="@+id/tabText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:textColor="#FFFFFF" />

</LinearLayout>

在我的ViewPagerAdapter中,我是否需要添加一些内容?我已经为它创建了一个自定义布局。将您的布局添加到actionbar选项卡Hi rajahsekar您所说的actionbar选项卡是什么意思?你能给我举个例子吗?我很困惑谢谢你找到解决办法了吗@KairiSan。我也在找同样的issue@Sammys我还没有找到任何解决办法
<?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:gravity="center_horizontal"
    android:orientation="vertical" >

<ImageView
    android:id="@+id/tabIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:paddingTop="2dp" />

<TextView
    android:id="@+id/tabText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:textColor="#FFFFFF" />

</LinearLayout>
Tab tab = actionBar.newTab().setCustomView(R.layout.yourView)