استفاده از آیکون برای tablayout در اندروید

با نام خدا و سلام،

اگر از tablayout پیش فرض خود گوگل (نسخه جدید) استفاده کردیه باشید شاهد این هستید که هنوز برای استایل دادن در فایل xml برای آیکون هر تب راهی نگذاشتند (گوگل گفته در آینده نزدیک این امکان نیز افزوده میشه)

خب در قدم اول اگر می خواید فقط آیکون داشته باشید و عنوان (title) برای هر تب داشته باشید در قدم اول باید getPageTitle() را در کد خودتون پیدا کنید، بعد از پیدا کردن یا کلا پاکش (delete) کنید یا به صورت زیر return رو به null تغییر بدید:

// ...

@Override
public CharSequence getPageTitle(int position) {
    return null;
}

بعد از حذف یا تغییر کد مربوط به getPageTitle() نوبت به استفاده از icon ها میرسه، کد های زیر را بعد از تعریف کامل tablayout در کلاس خودتون استفاده کنید:

// setup TabLayout first

// configure icons
private int[] imageResId = {
        R.drawable.ic_Share,
        R.drawable.ic_contacts,
        R.drawable.ic_sadegh-khan };

for (int i = 0; i < imageResId.length; i++) {
       tabLayout.getTabAt(i).setIcon(imageResId[i]);
}

اگر کد مربوط به getPageTitle() را حذف یا تغییر ندهید، عناوین تب ها به زیر آیکون ها انتقال داده میشه، برای اینکه عنوان ها در کنار آیکون ها بیاند نیز راه حل وجود داره که در آینده ان شاالله بهش می پردازم.

 

tablayout در گوگل.