Добавить значок на вкладки внутри viewPager - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь добавить значки к своим 3 вкладкам внутри ViewPager.Я не мог найти какие-либо решения для этого.Если есть какие-либо другие решения, я готов полностью изменить свой код. Большое спасибо за ваши ответы.Привет всем, я пытаюсь добавить иконки на мои 3 вкладки внутри ViewPager.Я не мог найти какие-либо решения для этого.Если есть какие-либо другие решения, я готов полностью изменить свой код. Большое спасибо за ваши ответы.

    package com.example.septime.locumatix.Activities;


import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import com.example.septime.locumatix.Fragments.GrosBonnetAnalyseFragment;
import com.example.septime.locumatix.Fragments.GrosBonnetExercicesFragment;
import com.example.septime.locumatix.Fragments.GrosBonnetPlusLoinFragment;

import com.example.septime.locumatix.R;

import java.util.ArrayList;
import java.util.List;

public class GrosBonnetActivity extends AppCompatActivity {

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

        Toolbar toolbar = findViewById(R.id.mytoolbar);

        ViewPager viewPager = findViewById(R.id.viewpager);
        setViewPager(viewPager);

        TabLayout tabLayout = findViewById(R.id.mytabs);
        tabLayout.setupWithViewPager(viewPager);
    }
    private void setViewPager(ViewPager viewPager) {
        GrosBonnetActivity.ViewPagerAdapter adapter = new GrosBonnetActivity.ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(new GrosBonnetAnalyseFragment(), "Analyse");
        adapter.addFragment(new GrosBonnetExercicesFragment(), "Exercices");
        adapter.addFragment(new GrosBonnetPlusLoinFragment(), "Plus loin");
        viewPager.setAdapter(adapter);
    }

    class ViewPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {
            return mFragmentList.size();
        }

        void addFragment(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }
}

1 Ответ

0 голосов
/ 29 декабря 2018

Это уже описано здесь .Все, что вам нужно, это метод setCustomView .

...