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

ええ、私はテキストを削除した後にアイコンを見ることができます –