0

활동 하단에는 아이콘과 텍스트로 구성되지만 내 테마에는 텍스트 만 표시되는 탭 위젯이 있습니다.Tab 호스트 최하위 문제

"Theme.AppCompat.Light.NoActionBar"인 현재 프로젝트 테마에서이 문제가 발생하는 것을 보았습니다. 그리고 "NOTITLEBAR"테마를 사용하여 잘 작동하지만 "No TITLE BAR"테마를 사용할 수없는 다른 문제가 발생합니다.

정말 이런 일이 벌어지고 있는지 알 수 없습니다. 버그를 찾는데 도와주세요. 또한 제안을 환영합니다.

TabWidget.xml

<?xml version="1.0" encoding="utf-8"?> 
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@android:color/transparent" 

    > 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
      android:background="@android:color/white" 

    > 
    <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="0dip" 
      android:layout_weight="1" 
       android:background="@android:color/white" 


      /> 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="0" 
      android:showDividers="middle" 
      android:divider="@color/dividerColor" 
       android:background="@color/button_color" 
      android:tabStripEnabled="false" 


      /> 

    </LinearLayout> 
</TabHost> 

TabActivity

public class MainActivity extends TabActivity { 

    protected void onCreate(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

        // stop executing code by return 
        return; 
       } 

      context = getApplicationContext(); 
       // TabHost tabHost = getTabHost(); 
       tabHost = getTabHost(); 
       SharedPreferences preferences2 = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
       String u_id1 = preferences2.getString("Userid",""); 
       Bean b = new Bean(); 
       b.setDeviceid(u_id1); 

       // tabHost.getTabWidget().getResources().getDrawable(R.drawable.tab); 
      // Tab for Photos 
       TabSpec photospec = tabHost.newTabSpec("Favourite"); 
       photospec.setIndicator("Favorites", getResources().getDrawable(R.drawable.tab_favourites)); 
      photospec.setContent(photosIntent); 


      // Tab for Songs 
       TabSpec songspec = tabHost.newTabSpec("Contacts"); 
       // setting Title and Icon for the Tab 

       songspec.setIndicator("Contacts", getResources().getDrawable(R.drawable.tab_contacts)); 
       Intent songsIntent = new Intent(this, Contacts_new.class); 
       songspec.setContent(songsIntent); 

       // Tab for Videos 
       TabSpec videospec = tabHost.newTabSpec("Meeting"); 
       videospec.setIndicator("Meeting",getResources().getDrawable(R.drawable.tab_meeting)); 
       Intent videosIntent = new Intent(this, Meeting.class); 
       videospec.setContent(videosIntent); 
      // Tab for Future SMS 
       TabSpec futuresms = tabHost.newTabSpec("Map"); 
       futuresms.setIndicator("Map",getResources().getDrawable(R.drawable.tab_map)); 
       Intent futureIntent = new Intent(this, Map.class); 
       futuresms.setContent(futureIntent); 
       // Tab for Future SMS 
       TabSpec setting = tabHost.newTabSpec("Setting"); 
       setting.setIndicator("Setting",getResources().getDrawable(R.drawable.tab_setting)); 
       Intent settingintent = new Intent(this, Setting.class); 
       setting.setContent(settingintent); 

      // Adding all TabSpec to TabHost 
       tabHost.addTab(photospec); // Adding photos tab 
       tabHost.addTab(songspec); // Adding songs tab 
       tabHost.addTab(videospec); // Adding videos tab 
       tabHost.addTab(futuresms); 
       tabHost.addTab(setting); 

      for (int j=0;j<tabHost.getTabWidget().getChildCount();j++){ 
       TextView textView = (TextView)tabHost.getTabWidget().getChildAt(j).findViewById(android.R.id.title); 
       textView.setTextSize(5); 

      } 


      for (int i = 0; i <tabHost.getTabWidget().getChildCount(); i++) { 
       tabHost.getTabWidget().getChildTabViewAt(i).setBackgroundColor(getResources().getColor(R.color.button_color)); 

      } 

       String tabid = Bean.getDeviceid(); 
       if(tabid == null) 
       { 
        int in = Integer.parseInt("2"); 
        tabHost.setCurrentTab(in); 
       } 
       else 
       { 
       int in = Integer.parseInt(tabid); 
       tabHost.setCurrentTab(in); 
       } 
      } 
     @Override 
     protected void onDestroy() { 
      // TODO Auto-generated method stub 
      SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
       SharedPreferences.Editor editor = preferences.edit(); 
       editor.putString("msg","Hi"); 

      super.onDestroy(); 
     } 



     @Override 
     public void onBackPressed() { 
      // TODO Auto-generated method stub 
      super.onBackPressed(); 
      System.gc(); 
      MainActivity.this.finish(); 
      System.exit(0); 
     } 


    } 

테마 내가 사용하고

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/green_top_bar</item> 
     <item name="colorPrimaryDark">@color/green_top_bar</item> 
     <item name="colorControlNormal">#ECEFF1</item> 
     <!--<item name="colorAccent"></item>--> 
     <item name = "android:textColorSecondary">#727272</item> 

이미지 (표시 문제) :이 하단 바의 높이로 인해 일어나는

enter image description here

답변

0

는 경우에, 당신의 이미지를 볼 수 있습니다 후 반드시 하단 바의 높이를 증가시켜 테스트를 할 수 있습니다.

+0

일부 스 니펫으로 나를 도울 수 있습니까? –

+0

먼저 텍스트를 제거하고 이미지를 볼 수 있는지 여부를 확인합니다. –

+0

그래, 내가 텍스트를 제거한 후 아이콘을 볼 수 있습니다 –