2016-06-30 169 views
1

我膨脹自定義佈局爲我的tabwidget選項卡。但只要我爲最後一個標籤充氣自定義佈局,我的底部標籤小部件將全屏顯示。問題膨脹自定義佈局

我想要什麼enter image description here

發生了什麼事:

enter image description here

TabActivity代碼:

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

      // Check if GCM configuration is set 
       if (CommonUtilities.SERVER_URL == null || CommonUtilities.SENDER_ID == null || CommonUtilities.SERVER_URL.length() == 0 
         || CommonUtilities.SENDER_ID.length() == 0) { 
        // GCM sernder id/server url is missing 

        Toast.makeText(MainActivity.this, "Configuration Error!", Toast.LENGTH_SHORT).show(); 

        // 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); 

      // Tab for Photos 
       TabSpec photospec = tabHost.newTabSpec("Favourite");  photospec.setIndicator(getLayoutInflater().inflate(R.layout.layout_favourites_tab,null)); 
       Intent photosIntent = new Intent(this, Favourite.class); 


      photospec.setContent(photosIntent); 

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

       songspec.setIndicator(getLayoutInflater().inflate(R.layout.layout_contacts_tab,null)); 
    //   songspec.setIndicator("Contacts", getResources().getDrawable(R.drawable.tab_contacts)); 
       Intent songsIntent = new Intent(this, Contacts.class); 
       songspec.setContent(songsIntent); 

       // Tab for Videos 
       TabSpec videospec = tabHost.newTabSpec("Meeting"); 
       videospec.setIndicator(getLayoutInflater().inflate(R.layout.layout_meeting_tab,null)); 
       Intent videosIntent = new Intent(this, Meeting.class); 
       videospec.setContent(videosIntent); 
      // Tab for Future SMS 
       TabSpec futuresms = tabHost.newTabSpec("Map"); 
      futuresms.setIndicator(getLayoutInflater().inflate(R.layout.layout_map_tab,null)); 
       Intent futureIntent = new Intent(this, Map.class); 
       futuresms.setContent(futureIntent); 

       // Tab for Future SMS 

    //Inflating custom layout for all tabs 

       TabSpec setting = tabHost.newTabSpec("Setting"); 
      setting.setIndicator(getLayoutInflater().inflate(R.layout.layout_setting_tab,null)); 
       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 i = 0; i <tabHost.getTabWidget().getChildCount(); i++) { 
       tabHost.getTabWidget().getChildTabViewAt(i).setBackgroundColor(getResources().getColor(R.color.button_color)); 

      } 
    tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.tab_click); 

       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); 
} 

    } 

Tab.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:background="@color/button_color" 
      android:tabStripEnabled="false" 
      /> 

    </LinearLayout> 
</TabHost> 

Custom_layout

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:orientation="horizontal" 
     android:background="@color/button_color" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 

     <LinearLayout 
      android:layout_width="70dp" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <ImageView 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:id="@+id/imageview" 
       android:theme="@style/tablayout" 
       android:background="@drawable/tab_setting" 
       android:layout_marginTop="10dp" 
       android:layout_gravity="center"/> 


      <android.support.v7.widget.AppCompatTextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Settings" 
       android:id="@+id/textview" 
       android:layout_gravity="center" 
       android:gravity="center" 
       android:textColor="@color/button_pressed" 
       android:textSize="10sp" 
       android:layout_marginTop="5dp"/> 
     </LinearLayout> 

     <View 
      android:id="@+id/view" 
      android:layout_width="1dp" 
      android:layout_height="match_parent" 
      android:background="#2ca4dc" /> 


    </LinearLayout> 

請幫我在我的代碼或其他一些方法finiding錯誤。

回答

1

它正在發生,因爲android:layout_height =「match_parent」更改爲wrap_content。

自定義佈局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="70dp" 
    android:layout_height="70dp" 
    android:background="@color/colorPrimaryDark" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:layout_width="70dp" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <ImageView 
      android:id="@+id/imageview" 
      android:layout_width="30dp" 
      android:layout_height="30dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:background="@drawable/oryx_logo" /> 


     <android.support.v7.widget.AppCompatTextView 
      android:id="@+id/textview" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginTop="5dp" 
      android:gravity="center" 
      android:text="Settings" 
      android:textColor="@color/future_color" 
      android:textSize="10sp" /> 
    </LinearLayout> 

    <View 
     android:id="@+id/view" 
     android:layout_width="1dp" 
     android:layout_height="match_parent" 
     android:background="#2ca4dc" /> 


</LinearLayout> 
+0

你救了我的時間。非常感謝 。這麼小的問題。萬分感謝 。同時請求您提出問題。 Gratefull –