Android 右对齐 TabWidget

Android Right Align TabWidget

我想在我自己的 android 应用程序中使用标签,但我遇到了问题。我尝试在右侧进行 TabWidget 对齐,以便第一个选项卡 header 位于右侧。我在网络上找到了一些解决方案,比如将 TabWidget gravity 设置为 right ,在 LinearLayout 中嵌套 TabWidget 并将其 gravity 设置为 right ,但它们没有用。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="ir.andrun.tabbased.Main"
    tools:showIn="@layout/app_bar_main">

    <TabHost
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/tabHost">

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

            <HorizontalScrollView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:scrollbars="none">
                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                        <TextView
                            android:tag="tab0"
                            android:text="Tab 1"
                            android:layout_width="wrap_content"
                            android:layout_height="fill_parent" />
                        <TextView
                            android:tag="tab1"
                            android:text="Tab 2"
                            android:layout_width="wrap_content"
                            android:layout_height="fill_parent" />
                        <TextView
                            android:tag="tab2"
                            android:text="Tab 3"
                            android:layout_width="wrap_content"
                            android:layout_height="fill_parent" />

                </TabWidget>
            </HorizontalScrollView>
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <LinearLayout
                    android:id="@+id/linearLayout"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                    <TextView
                        android:text="Tab 1"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent" />

                </LinearLayout>

                <LinearLayout
                    android:id="@+id/linearLayout2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                    <TextView
                        android:text="Tab 2"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent" />

                </LinearLayout>

                <LinearLayout
                    android:id="@+id/linearLayout3"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                    <TextView
                        android:text="Tab 3"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent" />

                </LinearLayout>
            </FrameLayout>
        </LinearLayout>
    </TabHost>
</RelativeLayout>

这是结果:

请有人帮助我。

坦克。

为什么使用HorizontalScrollView

使用Android Material Design working with Tabs

选项 0:尝试将 tabhost 设置为 android:gravity="end"

选项 1:尝试将 tabhost 设置为 android:layout_alignRight="true"android:layoutParentEnd="true"

选项 2:在 tabhost

之前添加一个 space taker-upper
<!-- Take up space -->
   <LinearLayout
       android:orientation="horizontal"
       android:layout_width="0dp"
       android:layout_height="match_parent"
       android:layout_weight="0.1"/>

希望其中之一就是您正在寻找的。