2016-06-30 8 views
1

私のタブウィジェットタブのカスタムレイアウトが膨らんでいます。しかし、私は最後のタブのカスタムレイアウトを膨張させるとすぐに、私の下部タブウィジェットはフルスクリーンになります。私は欲しい問題インフレータブルカスタムレイアウト

:何が起こっている 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起こっている:wrap_contentとlayout_height = "match_parent" 変更。

<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

カスタムレイアウトは、あなたは私の時間を救いました。どうもありがとう 。このような小さな問題。ありがとう、トン。また、あなたに質問をupvoteするよう依頼してください。グレートフル –