2013-07-15 8 views
0

그래서 마침내 완벽하게 작동하는 앱의 탭 레이아웃을 만들었지 만 누락 된 것이 있습니다. 나는 또한 아이콘 디자인에 많은 노력을 기울 였지만 전혀 보이지 않는 것으로 나타났습니다. 내가 어떻게하려고했는지 보여주기 위해 아래 코드를 게시 할 것이다.탭 레이아웃에 탭 아이콘이 표시되지 않습니다

전체 자바 코드 (모든에서 onCreate withing에있다) :

TabHost tabHost = getTabHost(); 

    //CRAFTING TAB 
    TabSpec craftTabSpec = tabHost.newTabSpec("Crafting"); 
    craftTabSpec.setIndicator("Crafting", getResources().getDrawable(R.drawable.crafticonstate)); 
    Intent craftIntent = new Intent(this, Bifrost.class); 
    craftTabSpec.setContent(craftIntent); 

    //ADDITION INFO TAB 
    TabSpec infoTabSpec = tabHost.newTabSpec("Info"); 
    infoTabSpec.setIndicator("Info", getResources().getDrawable(R.drawable.infoiconstate)); 
    Intent infoIntent = new Intent(this, Bifrostinfo.class); 
    infoTabSpec.setContent(infoIntent); 

    tabHost.addTab(craftTabSpec); 
    tabHost.addTab(infoTabSpec); 

crafticonstate의 XML 코드 : 나는 또한 단순히 R. '처럼, xml 파일없이 아이콘을 추가하려고

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- When selected, use grey --> 
    <item android:drawable="@drawable/weaponsmith_logo_hover" 
     android:state_selected="true" /> 
    <!-- When not selected, use white--> 
    <item android:drawable="@drawable/weaponsmith_logo" /> 
</selector> 

drawable.icon '하지만 그 중 하나가 작동하지 않습니다.

+0

괜찮아 보입니다. 'tabSpec'을 선언하는 방법과'tabHost'에 그것을 어떻게 추가하는지 게시 해 주시겠습니까? – neo108

+0

@ neo108 당신이 물어볼 때 전체 Java 코드를 게시했습니다. 내 원래 게시물 편집을 확인하십시오. – Guy

+0

다시 코드가 괜찮아 보입니다. 그리고 당신의 클래스가'TabActivity'를 확장하고 있다고 가정하고 있습니까? – neo108

답변

2

이것은 내가 사용한 멋진 트릭입니다.

불행히도 TabHost가 감가 상각 되었기 때문에 더 높은 수준의 API에서만 화면에 텍스트가 표시됩니다. 일부 해결 방법은 다음과 같습니다.

//CRAFTING TAB 
    TabSpec craftTabSpec = tabHost.newTabSpec("Crafting");  
    craftTabSpec.setIndicator("",getResources().getDrawable(R.drawable.crafticonstate)); 
    Intent craftIntent = new Intent(this, Bifrost.class); 
    craftTabSpec.setContent(craftIntent); 

표시기 (텍스트)를 삭제하고 이미지를로드하도록하십시오. 그래도 텍스트가 필요한 경우 텍스트를 포함하도록 이미지를 수정할 수 있습니다.

도움이 되길 바랍니다.

+0

감사합니다! 매력처럼 작동합니다. 어쨌든 아이콘이 텍스트보다 훨씬 좋아 보이므로 지금 당장이 아이콘을 그대로 사용하겠습니다. 어쩌면 가까운 장래에 텍스트 및 이미지를 유지하는 방법을 알아낼 것이지만 지금은 괜찮습니다. :) – Guy

관련 문제