我正在尝试使用仅包含图像/图标(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()
但我更喜欢另一种方法,因为通过反射,这段代码可以随时破解!