TabPageIndicator上的居中图标

Dav*_*shi 1 android viewpagerindicator

在问问题之前,我通常谷歌和研究的东西,但这次我没有以正常的方式找到答案,所以我不得不寻求你的帮助,其他程序员.

我特别使用ViewPagerIndicator,TabPageIndicator类,并希望在不修改库的情况下实现以下功能:从选项卡中删除测试标签和水平居中图标.虽然第一部分非常简单(只是null从中返回getPageTitle()),但第二部分让我感到困惑,因为除了使用margin参数之外我无法找到将图标放在中心的明显方法,这是完全错误和不可接受的,因为你可以想象.

最明显的,设置gravityvpi_styles.xml,没有工作:

<style name="Widget.TabPageIndicator" parent="Widget">
    <item name="android:gravity">center_horizontal|center_vertical</item>
    <item name="android:background">@drawable/vpi__tab_indicator</item>
    <item name="android:paddingLeft">22dip</item>
    <item name="android:paddingRight">22dip</item>
    <item name="android:paddingTop">12dp</item>
    <item name="android:paddingBottom">12dp</item>
    <item name="android:textAppearance">@style/TextAppearance.TabPageIndicator</item>
    <item name="android:textSize">12sp</item>
    <item name="android:maxLines">1</item>
    <item name="android:width">60dp</item>
    <item name="android:height">48dp</item>
    <item name="android:layout_marginLeft">40dp</item>
</style>

<style name="Widget.IconPageIndicator" parent="Widget">
    <item name="android:gravity">center_horizontal|center_vertical</item>
</style>
Run Code Online (Sandbox Code Playgroud)

Dav*_*shi 5

不幸的是,我似乎没有彻底搜索过:我从这里使用了第二个答案并通过修改TabPageIndicator.java文件获得了所需的效果:

tabView.setCompoundDrawablesWithIntrinsicBounds(iconResId, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

tabView.setCompoundDrawablesWithIntrinsicBounds(0, iconResId, 0, 0);
Run Code Online (Sandbox Code Playgroud)

我的图标居中.