ViewPager仅带有图标

时间:2013-10-14 09:18:26

标签: android tabs android-viewpager swipe viewpagerindicator

我正在尝试使用仅包含图像/图标(Drawable)的页面标题来实现ViewPager。

我试过用J.W. ViewPagerIndicator,但它不支持图标。我得到的最好的是我设法显示图标,但没有居中(它显示在左侧 - 就像页面标题中有一些文字,但不可见)。 我也试图修改库,但没有设法实现满足我的需求的东西(我也不想修改库)。

你们可以推荐一些其他库或一些好的教程来实现自定义ViewPager吗?

PS:我正在尝试像Twitter安卓应用程序那样做。

谢谢。

LE

经过更多的搜索和文档后,我发现它可以通过反思来实现......我也发现这种方法现在有效:

private void forceStackedTabs() {
    ActionBar ab = getSupportActionBar();
    if ( ab instanceof ActionBarImpl ) {
        // Pre-ICS
        disableEmbeddedTabs( ab );
    } else if ( ab instanceof ActionBarWrapper ) {
        // ICS
        try {
            Field abField = ab.getClass().getDeclaredField( "mActionBar" );
            abField.setAccessible( true );
            disableEmbeddedTabs( abField.get( ab ) );
        } catch (NoSuchFieldException e) {
            Log.e( TAG, "Error disabling actionbar embedded", e );
        } catch (IllegalArgumentException e) {
            Log.e( TAG, "Error disabling actionbar embedded", e );
        } catch (IllegalAccessException e) {
            Log.e( TAG, "Error disabling actionbar embedded", e );
        }
    }
}
private void disableEmbeddedTabs(Object ab) {
    try {
        Method setHasEmbeddedTabsMethod = ab.getClass().getDeclaredMethod("setHasEmbeddedTabs", boolean.class);
        setHasEmbeddedTabsMethod.setAccessible(true);
        setHasEmbeddedTabsMethod.invoke(ab, false);
    } catch (Exception e) {
        Log.e( TAG, "Error disabling actionbar embedded", e );
    }
}

这是我找到它的链接:forceStackedTabs()

但我更喜欢另一种方法,因为通过反射,这段代码可以随时破解!

1 个答案:

答案 0 :(得分:1)

使用ActiconBar Sherlock库,如果你想要像应用程序一样推特link