Potrzebuję dostosować pasek wyszukiwania w taki sposób, aby w określonym czasie powiedzieć, 30 sekund, powinienem mieć kropkę na pasku wyszukiwania. ten czas zmienia się dla każdego filmu, tak jak ja umieścić punkt kropka na pasek przewijania w określonym drugimDostosowywanie paska wyszukiwania Android,
5
A
Odpowiedz
16
Here're niektórych możliwości:
- Put „dot” Widok tuż nad
SeekBar
jeden. Nie wyjaśni tego tutaj szczegółowo, ponieważ jest to trywialne zadanie układu Android; Extend
SeekBar
, jak poniżej (patrz this good explanation about custom views):/** * Seek bar with dots on it on specific time/percent */ public class DottedSeekBar extends SeekBar { /** Int values which corresponds to dots */ private int[] mDotsPositions = null; /** Drawable for dot */ private Bitmap mDotBitmap = null; public DottedSeekBar(final Context context) { super(context); init(null); } public DottedSeekBar(final Context context, final AttributeSet attrs) { super(context, attrs); init(attrs); } public DottedSeekBar(final Context context, final AttributeSet attrs, final int defStyle) { super(context, attrs, defStyle); init(attrs); } /** * Initializes Seek bar extended attributes from xml * * @param attributeSet {@link AttributeSet} */ private void init(final AttributeSet attributeSet) { final TypedArray attrsArray = getContext().obtainStyledAttributes(attributeSet, R.styleable.DottedSeekBar, 0, 0); final int dotsArrayResource = attrsArray.getResourceId(R.styleable.DottedSeekBar_dots_positions, 0); if (0 != dotsArrayResource) { mDotsPositions = getResources().getIntArray(dotsArrayResource); } final int dotDrawableId = attrsArray.getResourceId(R.styleable.DottedSeekBar_dots_drawable, 0); if (0 != dotDrawableId) { mDotBitmap = BitmapFactory.decodeResource(getResources(), dotDrawableId); } } /** * @param dots to be displayed on this SeekBar */ public void setDots(final int[] dots) { mDotsPositions = dots; invalidate(); } /** * @param dotsResource resource id to be used for dots drawing */ public void setDotsDrawable(final int dotsResource) { mDotBitmap = BitmapFactory.decodeResource(getResources(), dotsResource); invalidate(); } @Override protected synchronized void onDraw(final Canvas canvas) { super.onDraw(canvas); final int width = getMeasuredWidth(); final int step = width/getMax(); if (null != mDotsPositions && 0 != mDotsPositions.length && null != mDotBitmap) { // draw dots if we have ones for (int position : mDotsPositions) { canvas.drawBitmap(mDotBitmap, position * step, 0, null); } } } }
Nie zapomnij o niestandardowych attrs w
res/values/attrs.xml
:<resources> <declare-styleable name="DottedSeekBar"> <attr name="dots_positions" format="reference"/> <attr name="dots_drawable" format="reference"/> </declare-styleable> </resources>
i stosując następujący kod:
setContentView(R.layout.main); final DottedSeekBar bar = (DottedSeekBar) findViewById(R.id.seekBar); bar.setDots(new int[] {25, 50, 75}); bar.setDotsDrawable(R.drawable.dot);
z układem main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:custom="http://schemas.android.com/apk/res/com.example.TestApp" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.TestApp.DottedSeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/seekBar" /> </LinearLayout>
lub po prostu pojedynczy main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:custom="http://schemas.android.com/apk/res/com.example.TestApp" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.TestApp.DottedSeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/seekBar" custom:dots_positions="@array/dots" custom:dots_drawable="@drawable/dot" /> </LinearLayout>
Można uzyskać następujący obraz:
zobacz this example więcej pomysłów;
chodzi o umieszczenie kropki na konkretnym czasie „”: SeekBar
nie chodzi o czas, więc jest to do ciebie, aby zapewnić żadnej logiki związanych z czasem.
Powiązane problemy
- 1. Dostosowywanie paska narzędzi WYSIHTML5
- 2. Dostosowywanie paska zakładek "Więcej"
- 3. Dostosowywanie paska tytułu i okna
- 4. Dostosowywanie paska bocznego kodu VS
- 5. Dostosowywanie paska przewijania przez QListWidget
- 6. Dostosowywanie algorytmu wyszukiwania w Elasticsearch
- 7. Dostosowywanie paska nawigacyjnego ABPeoplePickerNavigationController w iOS 8
- 8. Dostosowywanie elementów paska narzędzi w VS2010
- 9. Dostosowywanie obszaru paska tytułu aplikacji konsoli
- 10. Dostosowywanie koloru obramowania paska koloru na matplotlib
- 11. iOS 7 - dostosowywanie do paska stanu
- 12. dostosowywanie wyszukiwania tekstowego algorytmów porównywania wykresów/cząsteczek
- 13. android - nie mogę umieścić kciuka na środku paska wyszukiwania
- 14. Uzyskaj wartość paska wyszukiwania Android i wyświetlić go na ekranie
- 15. Wyświetlanie paska wyszukiwania UISearchController programowo
- 16. Dostosowywanie CheckBoxPreference przez android: widgetLayout
- 17. Pasek wyszukiwania trwałego systemu Android
- 18. Aktywacja paska wyszukiwania nie powoduje ukrycia paska nawigacji
- 19. Android - Actionbar Sherlock - Filtr wyszukiwania
- 20. kodowanie paska wyszukiwania z ikoną wewnątrz niego
- 21. Zwiększanie szerokości paska wyszukiwania Bootstrap formularz
- 22. Podaj półokrągły kształt do paska wyszukiwania
- 23. Podziałka paska zakładek paska narzędzi Android
- 24. Dostosowywanie czcionki/koloru tła indeksu/paska sekcji w UITableView
- 25. Django "xxxxxx" Dostosowywanie wyświetlania obiektów w pasku bocznym paska administracyjnego
- 26. Android wyłącz pasek wyszukiwania kontrolera audio
- 27. Android: widżet wyszukiwania ActionBarSherlock
- 28. Dostosowywanie Android Scrollview jest pionowy pasek przewijania
- 29. Funkcja wyszukiwania paska zadań nie zamyka się po wyszukiwaniu
- 30. Niestandardowa ikona paska narzędzi Android
Czy próbowałeś utworzyć niestandardowy widok? – sandrstar
@ Customand niestandardowy widok paska wyszukiwania? klasa rozszerzająca pasek wyszukiwania? Nie mam pojęcia, jak umieścić te kropki. Jakakolwiek pomoc się przyda, dzięki – user2558496