web-dev-qa-db-ja.com

TabLayoutに画面の全幅を占めるようにするにはどうすればよいですか?

TabLayoutのタブは画面の中央を占めており、 Adam Johnの回答 に従ってtabMaxWidth = "0dp"を追加した後でも、幅全体を埋めていません。

つまり、タブを次のように画面いっぱいに拡張したいのです。

enter image description here

しかし、私が得るものはこれです:

enter image description here

私のXMLは次のようになります。

<Android.support.design.widget.TabLayout
            Android:id="@+id/tl_contact_type"
            style="@style/tabWidgetLayout"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            app:tabMaxWidth="0dp"
            app:tabGravity="fill"
            app:tabMode="fixed"/>    

tabWidgetLayoutのstyle.xml

<style name="tabWidgetLayout" parent="Widget.Design.TabLayout">
            <item name="tabIndicatorColor">@color/colorTealAccent</item>
            <item name="tabIndicatorHeight">@dimen/default_corner_radius_medium</item>
            <item name="tabBackground">?attr/selectableItemBackground</item>
            <item name="Android:background">@color/colorBrandPrimaryDark</item>
            <item name="tabSelectedTextColor">@color/color_tab_selected_text</item>
            <item name="tabTextAppearance">@style/tabWidgetLayoutTextAppearance</item>
        </style>

これを修正するための助けは大歓迎です。

以下のスニペットをお試しください

<Android.support.design.widget.TabLayout
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            app:tabMaxWidth="0dp"
            app:tabGravity="fill"
            app:tabMode="fixed" />
11

問題は、Android:Widgetを拡張していないことだと思います。これをstyles.xmlに追加してみてください。

<style name="Base.Widget.Design.TabLayout" parent="Android:Widget">
    <item name="tabBackground">@drawable/tab_background</item>
    <item name="tabIndicatorColor">@color/colorAccent</item>
    <item name="tabIndicatorHeight">2dp</item>
</style>

次に、レイアウトで:

<Android.support.design.widget.TabLayout
                Android:id="@+id/tabLayout"
                style="@style/Base.Widget.Design.TabLayout"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                app:tabGravity="fill"
                app:tabMode="fixed" />

編集:これは私がずっと前に別の質問で見つけました(私は覚えていません)そしてそれは私のために働きました

0
Motassem Jalal
<Android.support.design.widget.TabLayout
            Android:id="@+id/tabs"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill"
            app:tabSelectedTextColor="@color/ColorPrimary"
            app:tabIndicatorColor="@color/ColorPrimary"
            app:tabTextColor="#000"
            app:tabBackground="@color/cardview_light_background"/>

コードをこれに置き換えます。

0
Azhar osws

@ style/qtabWidgetレイアウトと、パディングおよびマージン値の親レイアウトを確認する価値があります。

0
user1506104
 <Android.support.design.widget.TabLayout
        Android:id="@+id/tabs"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        app:tabMode="fixed"
        app:tabMaxWidth="0dp"
        app:tabGravity="fill"/>

これがあなたの問題を甘やかしたかどうか教えてください。

お力になれて、嬉しいです。

0
Sagar Gangawane