2017-09-06 7 views
-2

Im ein Android-Studio App erstellen, möchte ich, wenn der Benutzer auf eine Registerkarte Taste die Registerkarte Symbol/FarbeRegisterkarte Registerkarte Layoutfarbe ändern?

ändern geklickt ist mein Code:

 tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { 
      @Override 
      public void onTabChanged(String tabId) { 

       int id= tabHost.getCurrentTab(); 
       // TabLayout.setSelectedTabIndicatorColor(int color); // Error because of non static method 

//    if(id==0){ 
//     TabHost.TabSpec tab1spec = tabHost.newTabSpec("List"); 
//     tab1spec.setIndicator("", getResources().getDrawable(R.drawable.home2)); 
//    } 
//    if(id==1){ 
//     TabHost.TabSpec tab1spec = tabHost.newTabSpec("Config"); 
//     tab1spec.setIndicator("", getResources().getDrawable(R.drawable.lab2)); 
//    } 
//    if(id==2){ 
//     TabHost.TabSpec tab1spec = tabHost.newTabSpec("More"); 
//     tab1spec.setIndicator("", getResources().getDrawable(R.drawable.more2)); 
//    } 

      } 
     }); 

Irgendwelche Ideen?

Dank

Antwort

1
tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener(){ 
       @Override 
       public void onTabChanged(String tabId) { 
       int tab = tabHost.getCurrentTab(); 
       tabHost.getTabWidget().getChildAt(tab).setBackgroundColor(Color.parseColor("#FFFFFF")); 
       setTabColor(tabHost); 
       } 
      });   
    } 

    public static void setTabColor(TabHost tabhost) { 
     for(int i=0;i<tabhost.getTabWidget().getChildCount();i++) 
     { 
      tabhost.getTabWidget().getChildAt(i).setBackgroundColor(Color.WHITE); //unselected 
     } 
     tabhost.getTabWidget().getChildAt(tabhost.getCurrentTab()).setBackgroundColor(Color.parseColor("#FFFFFF")); // selected 
} 
+0

Dank es funktionierte gut, – Disco4uf

Verwandte Themen