在视图寻呼机中自定义标签指示器的高度?

时间:2013-05-23 22:20:29

标签: android view android-viewpager viewpagerindicator android-styles

我希望像tabinterest一样设置标签指示器,其中指示器看起来不像普通的“android”风格。是否有一些属性我可以设置指标高度?请查看下图。

enter image description here

3 个答案:

答案 0 :(得分:0)

只需在布局文件中设置layout_height属性:

com.viewpagerindicator.TitlePageIndicator
android:layout_height="@dimen/indicator_height"

答案 1 :(得分:0)

这可能不是一个合适的解决方案,问题确实很旧,但由于我还没有找到任何合适的解决方案,我就是这样做的:

我创建了一个名为indicator:

的layerList文件
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#FF0000" />
        </shape>
    </item>
    <item android:bottom="3dp">
        <shape android:shape="rectangle">
            <solid android:color="#efefef" />
        </shape>
    </item>
</layer-list>

然后将其设置为我的标签指示符背景:

<style name="CustomTabPageIndicator" parent="@android:style/Widget.Holo.ActionBar.TabView">
        <item name="android:background">@drawable/indicator</item>
    </style>

我还将此主题应用于我的actionBar:

<style name="MyActionBarTheme" parent="android:style/Widget.Holo.ActionBar">
             <item name="android:actionBarTabStyle">@style/CustomTabPageIndicator</item>
        </item> </style>

它的工作原理是因为在indicator.xml中,第一个形状是较低的形状,这是实际指示器,并且我通过为另一个形状提供底部填充来设置其高度,该形状的颜色与动作条颜色相同。

答案 2 :(得分:0)

使用材质设计TabLayout,可以使用app:tabIndicatorHeight

设置高度
<com.google.android.material.tabs.TabLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabIndicatorHeight="4dp" />