Я пытаюсь реализовать 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()
Но я предпочел бы другой метод, потому что через отражение этот код может сломаться в любое время!
Вы имеете в виду, я должен использовать ActionBar.NAVIGATION_MODE_TABS, и добавить вкладки? И как мне реализовать значок только для вкладок? (индикатор страницы все равно должен быть там) ... Кроме того, ссылка, которую вы дали, использует текст для вкладок, это не то, что я ищу ... см. мой вопрос снова ... –
Внутри mainActivity, который делает пример вы можете установить только значок без текста, используя Tab1 = actionBar.newTab(). setIcon (R.drawable.tab1); dont use settext ("tab1") –
Я вижу, и у этого также будут возможности прокрутки, такие как ViewPager? Или я должен реализовать свой детектор жестов и программно изменить? Я думал о объединении виджета TabHost и ViewPager LayoutManager ... это можно сделать с помощью ActionBar? –