防止 ActionBar 选项卡水平滚动
Prevent ActionBar tabs from horizontal scrolling
我在 actionBar 中有 4 个选项卡。我使用带有 ImageView 和 TextView 的 RelativeLayout 作为选项卡的自定义视图。
actionBar 溢出屏幕宽度,选项卡可水平滚动。
我的customView的实际宽度并不多,但是Tabs占用了额外的space(不同设备会有差异)
如何限制标签不超过屏幕宽度的 1/4。
除了使用 ActionBar,您还需要在 UI 中实现一个工具栏或类似的东西,您可以控制其中包含 Tab 的宽度...
ActionBar 旨在占据屏幕的整个宽度,而您可以自己指定工具栏的宽度...
创建 tab_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
app:popupTheme="@style/Theme.AppCompat.Light.NoActionBar">
<!-- Add your Tabs here -->
</android.support.v7.widget.Toolbar>
然后只需将此布局包含在您的 activity:
<include layout="@layout/tab_layout
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
标签视图宽度基于 content/yourImage 大小,因此要使标签视图宽度更小,您必须控制 content/Image 大小。您可以通过将 ImageView 放在 FrameLayout 中来为您的 Tab
使用 CustomView
。
有关详细信息,请转到 post 的答案。
我在 actionBar 中有 4 个选项卡。我使用带有 ImageView 和 TextView 的 RelativeLayout 作为选项卡的自定义视图。
actionBar 溢出屏幕宽度,选项卡可水平滚动。
我的customView的实际宽度并不多,但是Tabs占用了额外的space(不同设备会有差异)
如何限制标签不超过屏幕宽度的 1/4。
除了使用 ActionBar,您还需要在 UI 中实现一个工具栏或类似的东西,您可以控制其中包含 Tab 的宽度...
ActionBar 旨在占据屏幕的整个宽度,而您可以自己指定工具栏的宽度...
创建 tab_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
app:popupTheme="@style/Theme.AppCompat.Light.NoActionBar">
<!-- Add your Tabs here -->
</android.support.v7.widget.Toolbar>
然后只需将此布局包含在您的 activity:
<include layout="@layout/tab_layout
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
标签视图宽度基于 content/yourImage 大小,因此要使标签视图宽度更小,您必须控制 content/Image 大小。您可以通过将 ImageView 放在 FrameLayout 中来为您的 Tab
使用 CustomView
。
有关详细信息,请转到 post