2016-06-28 21 views
-3
import android.support.design.widget.TabLayout; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 
import android.widget.TableLayout; 
import android.widget.TabHost; 

public class MainActivity extends AppCompatActivity { 
    Toolbar toolbar; 
    TabLayout tabLayout; 
    ViewPager viewPager; 
    ViewPagerAdapter viewpagerAdapter; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     toolbar=(Toolbar)findViewById(R.id.toolBar); 
     setSupportActionBar(toolbar); 
     tabLayout=(TabLayout)findViewById(R.id.tabLayout); 
     viewPager=(ViewPager)findViewById(R.id.viewpager); 
     viewpagerAdapter=new ViewPagerAdapter(getSupportFragmentManager()); 
     viewpagerAdapter.addFragments(new HomeFragment(),"Home"); 
     viewpagerAdapter.addFragments(new TopFreeFragment(),"TopFree"); 
     viewpagerAdapter.addFragments(new TopPaidFragment(),"TopPaid"); 
     viewPager.setAdapter(viewpagerAdapter); 
     tabLayout.setupWithViewPager(viewPager); 
     Home.setIndicator("",getResources().getDrawable(R.drawable.iconimage1_design)); 
     TopFree.setIndicator("",getResources().getDrawable(R.drawable.iconimage2_design)); 
     TopPaid.setIndicator("",getResources().getDrawable(R.drawable.iconimage3_design)); 
    } 
} 

最後の3つのステートメントHome、TopFree、TopPaid、shomは、これら3つの名前の代わりに、どのようなテキストを入力する必要があるかを示します。 ご意見はありがとうございます。テキストの代わりにタブホストにアイコンを追加する方法

答えて

0

Tabオブジェクトがあり、setIconと呼びます。カスタムインジケータとテキストインジケータを交換したい場合は

tabLayout.getTabAt(0).setIcon(R.drawable.iconimage1_design); 
tabLayout.getTabAt(1).setIcon(R.drawable.iconimage2_design); 
tabLayout.getTabAt(2).setIcon(R.drawable.iconimage3_design); 
0

あなたはこれを使用することができます:

int numTabs = 3; 
int resIds = {R.drawable.image1, R.drawable.image2, R.drawable.image3}; 

for (int i = 0; i < numTabs; i++) { 
    RelativeLayout tab = (RelativeLayout) LayoutInflater.from(this).inflate(R.layout.your_custom_sliding_tab_indicator_layout, null); 
    ((ImageView) tab.findViewById(R.id.tab_icon)).setImageResource(resIds[i]); 
    //... 
    //set other values (text, image source etc.) 
    tabLayout.getTabAt(i).setCustomView(tab); 
} 

またはあなたがちょうどそのファンのコード、または修正されたバージョン@使うアイコンを使用する必要がある場合:

int numTabs = 3; 
int resIds = {R.drawable.image1, R.drawable.image2, R.drawable.image3}; 

for (int i = 0; i < numTabs; i++) { 
    tabLayout.getTabAt(i).setIcon(resIds[i]); 
} 
関連する問題