2017-01-04 2 views
1

Ich habe eine tablayout mit 2 Tabs. Ich verwende benutzerdefinierte Ansicht auf die RegisterkartenTablayout benutzerdefinierte Ansicht nicht in voller Höhe Android?

Tablayout XML XML

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

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     app:tabPaddingBottom="-1dp" 
     app:tabPaddingEnd="-1dp" 
     app:tabPaddingStart="-1dp" 
     app:tabPaddingTop="-1dp" 
     app:tabGravity="fill" 
     app:tabIndicatorHeight="5dp" 
     app:tabMode="fixed" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</LinearLayout> 

Benutzerdefinierte Ansicht für Reiter

<?xml version="1.0" encoding="utf-8"?> 

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:andorid="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" 
android:textColor="@android:color/white" 
andorid:text="XXX" /> 

Java-Code einrichten zu setzen

private void setupTabIcons() { 
    TextView tabOne = (TextView) LayoutInflater.from(getActivity()).inflate(R.layout.tab_text, null); 
    tabOne.setBackgroundColor(ContextCompat.getColor(getActivity(),R.color.tabText1)); 
    tabOne.setText(tabTitle[0]); 
    tabLayout.getTabAt(0).setCustomView(tabOne); 

    TextView tabTwo = (TextView) LayoutInflater.from(getActivity()).inflate(R.layout.tab_text, null); 
    tabTwo.setBackgroundColor(ContextCompat.getColor(getActivity(),R.color.tabText2)); 
    tabTwo.setText(tabTitle[1]); 
    tabLayout.getTabAt(1).setCustomView(tabTwo); 
} 

Das ist mein Ausgang Tabs not taking full height

Wie passe ich die Höhe der Textansicht der Tablayout-Höhe an?

+0

setzen individuelle xml Textview Höhe 60dp –

+0

Satz 'android: layout_height = "wrap_content"' in tablayout –

+0

bitte diese verweisen, wenn Sie verwenden möchten, nur Textview https: // Github .com/codepath/android_guides/wiki/ViewPager-mit-FragmentPagerAdapter –

Antwort

0

Wäre es programmatisch

zu tun 210

die params Einstellung auf Textview

tabOne.setLayoutParams(layoutParams); 
0

statt dessen versuchen, dieses Layout für vollen Zugriff Layout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:andorid="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView 

     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:textColor="@android:color/white" 
     andorid:text="XXX" /> 
</RelativeLayout> 
+0

hast du mein Problem verstanden? – WISHY

0

versuchen, dies zu verwenden .. Dies ist, wie ich meine Tabs anpassen

TabLayout tabs = (TabLayout)findviewById(R.id.tabs); 

     ViewGroup vg = (ViewGroup) tabs.getChildAt(0); 
     int tabsCount = vg.getChildCount(); 
     for (int j = 0; j < tabsCount; j++) { 
      ViewGroup vgTab = (ViewGroup) vg.getChildAt(j); 
      int tabChildsCount = vgTab.getChildCount(); 
      for (int i = 0; i < tabChildsCount; i++) { 
       View tabViewChild = vgTab.getChildAt(i); 
       // Get TextView Element 
       if (tabViewChild instanceof TextView) { 
        // change font 
        ((TextView) tabViewChild).setTypeface(tf); 
        // change color 
        ((TextView) tabViewChild).setTextColor(getResources().getColor(R.color.white)); 
        // change size 
        ((TextView) tabViewChild).setTextSize(18); 
        // change padding 
        tabViewChild.setPadding(0, 0, 0, 0); 
        //..... etc... 
       } 
      } 
     } 
0

Set Höhe von tablayout wrap_content und setzen Textview Höhe 60dp/

Verwandte Themen