7

我正在尝试实现这个应用程序。目前我已经在上面设计了标签,因为我有超过 7 个标签,它看起来太拥挤了。如何设计它以使 tabwidget 可以水平滚动。我在市场上的少数应用程序上看到过这种设计,但不知道如何在我的应用程序中实现它。

我看到的一个应用程序有一个水平滚动视图,它可以自行滚动,当你按下特定的图像/按钮时,它会显示一些内容。我猜它似乎不是标签。

那么有人对此有想法吗?

4

5 回答 5

15

来自 Android 设计库的TabLayout

<android.support.design.widget.TabLayout
    android:id="@+id/categories"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:tabMode="scrollable" />
于 2016-01-14T13:02:29.613 回答
4

这是使用 Horizo​​ntalScrollView 的一个很好的例子。 http://java.dzone.com/articles/scrolling-tabs-android

于 2012-03-14T14:36:47.237 回答
2

请查看 Jake Wharton 的 ViewPager 应用程序。这正是您所需要的。它是一个库项目,因此您必须将其包含在您的项目中。

JakeWharton / Android-ViewPagerIndicator

于 2012-03-14T14:36:00.660 回答
2
<HorizontalScrollView 
    android:id="@+id/vTabs" 
    android:scrollbars="none" 
    android:layout_width="fill_parent" 
    android:layout_alignParentBottom="true"
    android:layout_height="wrap_content">
    <LinearLayout 
        android:orientation="horizontal" 
        android:background="@color/main_color_gray_dk" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content">
        <Button 
            android:enabled="false" 
            android:id="@+id/tab1" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="@string/popular" />
        <View 
            android:id="@id/view1" 
            android:layout_width="@dimen/pad_1dp" 
            android:layout_height="fill_parent" />
        <Button 
            android:id="@id/tab2" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="@string/newest" />
        <View 
            android:id="@id/view1" 
            android:layout_width="@dimen/pad_1dp" 
            android:layout_height="fill_parent"  />
        <Button 
            android:id="@id/tab3" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="@string/distance" />
        <View 
            android:id="@id/view1" 
            android:layout_width="@dimen/pad_1dp" 
            android:layout_height="fill_parent"  />
        <Button 
            android:id="@+id/tab4" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="@string/minimum"  />
    </LinearLayout>
</HorizontalScrollView>

根据您的口味更改文本。放置在 relatveLayout 和 alignToParentBottom="true" 希望这会有所帮助

于 2016-01-31T13:43:12.733 回答
0

检查此链接:https ://dzone.com/articles/scrolling-tabs-android

用 Horizo​​ntalScrollView 包裹您的 TabWidget,标签集将能够扩展超出屏幕宽度,用户可以根据需要左右拖动标签:

<?xml version="1.0" encoding="utf-8"?><TabHost xmlns:android="http://schemas.android.com/apk/res/android"         android:id="@android:id/tabhost"         android:layout_width="fill_parent"         android:layout_height="fill_parent">  <LinearLayout android:orientation="vertical"                android:layout_width="fill_parent"                android:layout_height="fill_parent">    <HorizontalScrollView android:layout_width="fill_parent"                          android:layout_height="wrap_content"                          android:fillViewport="true"                          android:scrollbars="none">      <TabWidget android:id="@android:id/tabs"                 android:layout_width="fill_parent"                 android:layout_height="wrap_content"/>    </HorizontalScrollView>    <FrameLayout android:id="@android:id/tabcontent"                 android:layout_width="fill_parent"                 android:layout_height="fill_parent" />  </LinearLayout></TabHost>
于 2015-10-24T00:08:26.977 回答