2013-10-14 3 views
0

Я пытаюсь реализовать ViewPager с названием страницы, содержащим только изображение/значок (Drawable).ViewPager только с иконкой

Я пробовал использовать J.W. ViewPagerIndicator, но он не поддерживает только значки. Самое лучшее, что я получил, это то, что мне удалось отобразить значок, но он не центрирован (он отображается слева - как будто в заголовке страницы есть текст, но не отображается). Я также попытался изменить библиотеку, но мне не удалось реализовать что-то, что удовлетворяет мои потребности для этого (также я бы предпочел не изменять библиотеку).

Можете ли вы, ребята, порекомендовать какую-нибудь другую библиотеку или какой-нибудь хороший учебник для реализации пользовательского ViewPager?

PS: Я пытаюсь сделать что-то вроде приложения Twitter android.

спасибо.

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

использование библиотеки ActiconBar Шерлок, если вы хотите щебетать, как приложения, link

+0

Вы имеете в виду, я должен использовать ActionBar.NAVIGATION_MODE_TABS, и добавить вкладки? И как мне реализовать значок только для вкладок? (индикатор страницы все равно должен быть там) ... Кроме того, ссылка, которую вы дали, использует текст для вкладок, это не то, что я ищу ... см. мой вопрос снова ... –

+0

Внутри mainActivity, который делает пример вы можете установить только значок без текста, используя Tab1 = actionBar.newTab(). setIcon (R.drawable.tab1); dont use settext ("tab1") –

+0

Я вижу, и у этого также будут возможности прокрутки, такие как ViewPager? Или я должен реализовать свой детектор жестов и программно изменить? Я думал о объединении виджета TabHost и ViewPager LayoutManager ... это можно сделать с помощью ActionBar? –

Смежные вопросы