如何增加对swipeable标签的图标 [英] how to add the icon for swipeable tabs

查看:112
本文介绍了如何增加对swipeable标签的图标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是从下载的这里我想dispaly标签与图标如何posssible请帮助我。

 公共类MainActivity扩展FragmentActivity工具
            ActionBar.TabListener {

    私人ViewPager viewPager;
    私人TabsPagerAdapter mAdapter;
    私人ActionBar的动作条;
    //标签标题
    私有String []选项卡= {文本,照片,记录,标签};


    @TargetApi(Build.VERSION_ codeS.HONEYCOMB)
    @燮pressLint(NewApi)
    @覆盖
    保护无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);

        //动初始化
        viewPager =(ViewPager)findViewById(R.id.pager);
        动作条= getActionBar();
        mAdapter =新TabsPagerAdapter(getSupportFragmentManager());

        最终诠释[]图标=新INT [] {
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
    };

        viewPager.setAdapter(mAdapter);
        actionBar.setHomeButtonEnabled(假);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        //添加标签
        对于(字符串TAB_NAME:标签){
            actionBar.addTab(actionBar.newTab()的setText(TAB_NAME)
                    .setTabListener(本));


        }

        / **
         *上刷卡viewpager做出相应的选项卡中选择
         * * /
        viewPager.setOnPageChangeListener(新ViewPager.OnPageChangeListener(){

            @覆盖
            公共无效onPageSelected(INT位置){
                //在改变页面
                //使尊敬的选项卡中选择
                actionBar.setSelectedNavigationItem(位置);
            }

            @覆盖
            公共无效onPageScrolled(INT为arg0,浮动ARG1,ARG2 INT){
            }

            @覆盖
            公共无效onPageScrollStateChanged(INT为arg0){
            }
        });
    }

    @覆盖
    公共无效onTabReselected(TAB键,FragmentTransaction英尺){
    }

    @覆盖
    公共无效onTabSelected(TAB键,FragmentTransaction英尺){
        //在选项卡中选择
        //显示尊重片段视图
        viewPager.setCurrentItem(tab.getPosition());
    }

    @覆盖
    公共无效onTabUnselected(TAB键,FragmentTransaction英尺){
    }

}
 

解决方案

添加.setIcon(resources.getDrawable(DrawableIDHere))在你的for循环,也改变你的for循环了一下。

  //添加标签
的for(int i = 0; I< tabs.length;我++)
{
actionBar.addTab(actionBar.newTab()的setText(标签[I])
                         .setIcon(resources.getDrawable(图标[i]))
                         .setTabListener(本));
} // ENDFOR
 

另外,不要忘了把正确绘制的ID在你的图标阵!

I am downloading the code from here i want to dispaly tabs with icon how can posssible please help me.

 public class MainActivity extends FragmentActivity implements
            ActionBar.TabListener {

    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;
    // Tab titles
    private String[] tabs = { "Text", "Photo", "Record" ,"Tag"};


    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Initilization
        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

        final int[] ICONS = new int[] {
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
    };

        viewPager.setAdapter(mAdapter);
        actionBar.setHomeButtonEnabled(false);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        

        // Adding Tabs
        for (String tab_name : tabs) {
            actionBar.addTab(actionBar.newTab().setText(tab_name)
                    .setTabListener(this));


        }

        /**
         * on swiping the viewpager make respective tab selected
         * */
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                // on changing the page
                // make respected tab selected
                actionBar.setSelectedNavigationItem(position);
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // on tab selected
        // show respected fragment view
        viewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }

}

解决方案

Add .setIcon(resources.getDrawable(DrawableIDHere)) in your for loop, and also alter your for loop a bit.

// Adding Tabs
for (int i=0; i < tabs.length; i++)
{
actionBar.addTab(actionBar.newTab().setText(tabs[i])
                         .setIcon(resources.getDrawable(ICONS[i]))
                         .setTabListener(this));
}//endfor

Also, don't forget to put the right drawable ID's in your ICONS array!

这篇关于如何增加对swipeable标签的图标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆