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
?
选项 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"/>
希望其中之一就是您正在寻找的。
我想在我自己的 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
?
选项 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"/>
希望其中之一就是您正在寻找的。