我正在尝试使用仅包含图像/图标(可绘制)的页面标题来实现 ViewPager。
我尝试使用 JW ViewPagerIndicator,但它不只支持图标。我得到的最好的结果是我设法显示了图标,但没有居中(它显示在左侧 - 就像页面标题中有一些文本,但不可见)。我也尝试修改库,但没有设法实现满足我对此需求的东西(我也不想修改库)。
你们能推荐一些其他库或一些好的教程来实现自定义 ViewPager 吗?
PS:我正在尝试做类似 Twitter android 应用程序的事情。
谢谢你。
乐:
经过更多的搜索和文档后,我发现它可以通过反射来实现......我也发现这种方法现在有效:
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()
但我更喜欢另一种方法,因为通过反射,这段代码可以随时中断!