Czy istnieje sposób na określenie pozycji tytułu i wiadomości w widoku Prezentacja? Widzę, że biblioteka używa funkcji do znalezienia najlepszej pozycji, ale chcę ją przesłonić.Prezentacja Wyświetl tekst grawitacja
Odpowiedz
Właśnie wykopałem kod źródłowy ShowcaseView
i wygląda na to, że nie ma żadnej możliwości wbudowania, aby ustawić pozycję tekstu. Dlatego dodałem własną modyfikację do biblioteki. Oto zmiany, które ja dokonane:
W klasie ShowcaseView
dodania następujących polach:
private boolean hasManualPostion = false;
private int xPosition, yPosition, width;
następnie w klasie Builder
który jest klasa wewnętrzna w ShowcaseView
klasy, dodać te metody:
public Builder hasManualPosition(boolean hasManualPosition) {
showcaseView.hasManualPostion = hasManualPosition;
return this;
}
public Builder xPostion(int xPostion) {
showcaseView.xPosition = xPostion;
return this;
}
public Builder yPostion(int yPostion) {
showcaseView.yPosition = yPostion;
return this;
}
Następnie dodaj tę metodę do klasy TextDrawer
:
public void setTestPostionManually(int xPosition, int yPosition) {
mBestTextPosition[0] = xPosition;
mBestTextPosition[1] = yPosition;
}
i przy zmianie onPreDraw
metody końcowego w ShowcaseView
wyglądać tak:
@Override
public boolean onPreDraw() {
boolean recalculatedCling = showcaseAreaCalculator.calculateShowcaseRect(showcaseX, showcaseY, showcaseDrawer);
boolean recalculateText = recalculatedCling || hasAlteredText;
if (recalculateText) {
textDrawer.calculateTextPosition(getMeasuredWidth(), getMeasuredHeight(), this, shouldCentreText);
if (hasManualPostion) {
textDrawer.setTestPostionManually(xPosition, yPosition);
}
}
hasAlteredText = false;
return true;
}
Teraz należy utworzyć ShowcaseView
takiego:
sv = new ShowcaseView.Builder(this, true)
.setTarget(target)
.setContentTitle(R.string.showcase_main_title)
.setContentText(R.string.showcase_main_message)
.setStyle(R.style.CustomShowcaseTheme2)
.setShowcaseEventListener(this)
.hasManualPosition(true)
.xPostion(0)
.yPostion(240)
.build();
Enjoy!
która to wersja? jakikolwiek pomysł, jak sprawić, by działało w starszej wersji? –
Modyfikacja dotyczy wersji 5.0.0 – Sadegh
czy znasz jakiś sposób, aby wprowadzić animację ręczną w wersji 5.0.0? –
- 1. grawitacja symulacja
- 2. TabLayout wybrana zakładka grawitacja
- 3. WPF Framework Prezentacja Wyjątek :(
- 4. CSS Ukryj tekst, ale wyświetl obraz?
- 5. Wyświetl tekst powiadomienia na pasku stanu - Android
- 6. Wysublimowany tekst 2 - Wyświetl znaki białe znaki
- 7. Wyświetl tekst kannada w aplikacji Android
- 8. Grawitacja pionowego wyrównania nie odpowiada
- 9. Toolbar przycisk grawitacja na rozszerzonym pasku
- 10. Rozdzielanie widoków, prezentacja poleceń (tekst, ikona) i logika komendy (wykonywanie, CanExecute)
- 11. Prezentacja modelu - ten sam widok, różni prezenterowie
- 12. Prezentacja storyboardu ViewController z innego ViewController
- 13. Prezentacja komponentów systemu Android/przewodnik wizualny
- 14. Wyświetl mapę google na hover link lub tekst
- 15. Wyświetl dodatkowy tekst obok dat w jquery UI datepicker
- 16. Wyświetl csv wewnątrz przeglądarki Firefox
- 17. Circular Reveal nie działa, gdy FAB grawitacja jest dno
- 18. Dlaczego prezentacja kinect jest powolna na moim komputerze?
- 19. Autoukład w iOS - Prawidłowa prezentacja widoku pod półprzezroczystym paskiem nawigacyjnym
- 20. Prezentacja rzutnika rmarkdown: jak nie drukować prowadnic sekcji?
- 21. android: grawitacja = „right” nie działa na wszystkich urządzeniach dla arabskiego i innych języków RTL
- 22. Powiadomienie Android - Wyświetl całą wiadomość
- 23. Przełóż Android NestedScroll Wyświetl poziome przeciągnięcia do rodzica Wyświetl
- 24. Wyświetl Logcat w Terminalu?
- 25. Wyświetl QImage z QtGui
- 26. Wyświetl źródło pakietu R
- 27. Express.js Wyświetl "globals"
- 28. Wyświetl szczegóły importera
- 29. WooCommerce: Wyświetl nazwę kategorii
- 30. Otwórz scenorię - wyświetl ręcznie
Proszę wyjaśnić, co próbujesz powiedzieć, pokaż swój kod, a następnie wyjaśnij problem, który otrzymujesz. –
zaktualizowany op. Nadal nie znalazłem sposobu, aby to zrobić. – arayray
Przesłane wydanie w Prezentacji Wyświetl github. https://github.com/Espiandev/ShowcaseView/issues/113 – arayray