Мне нужно настроить панель поиска таким образом, чтобы в предварительно определенное время сказать, 30 секунд, у меня должна быть точка в строке поиска. Этой длительность варьируется для каждого и каждого видео, так как я устанавливаю точку точки на панели поиска на конкретные вторыхНастройка значка поиска в android,
5
A
ответ
16
Here're некоторые возможности:
- Put «точка» вид чуть выше
SeekBar
один. Не будет объяснять это здесь подробно, потому что это тривиальная задача для создания андроида; SeekBar
Extend, как следующее (см 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); } } } }
Не забывайте о пользовательских ATTRS в
res/values/attrs.xml
:<resources> <declare-styleable name="DottedSeekBar"> <attr name="dots_positions" format="reference"/> <attr name="dots_drawable" format="reference"/> </declare-styleable> </resources>
И используя следующий код:
setContentView(R.layout.main); final DottedSeekBar bar = (DottedSeekBar) findViewById(R.id.seekBar); bar.setDots(new int[] {25, 50, 75}); bar.setDotsDrawable(R.drawable.dot);
с 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>
или только одного 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>
Вы можете получить следующее изображение:
Обратитесь к this example для новых идей;
Что касается ввода точек на определенной «время»: SeekBar
не о времени, так что до вас, чтобы обеспечить любую логику времени, связанные с.
Смежные вопросы
- 1. Настройка значка для поиска в Android-навигаторе
- 2. Android studio 1.0.2 настройка значка
- 3. Настройка значка
- 4. Настройка значка уведомлений для Android, используя Mixpanel
- 5. Настройка значка навигации на Android ActionBar
- 6. Настройка значка кнопки меню «Дополнительно»
- 7. Настройка значка прерывает DataGridView?
- 8. Программная настройка размера значка
- 9. Настройка группы драйверов/значка
- 10. Настройка значка папки
- 11. Настройка Значка JButton
- 12. Настройка значка файла в java
- 13. Настройка значка селектора
- 14. Плагин Android: на TextView и Android: drawableStart - настройка размера значка?
- 15. Настройка небольшого цвета значка значка уведомления, когда приложение не запущено
- 16. Настройка значка виджета Android в ящике виджетов - проблема с ImagePreview?
- 17. Настройка значка приложения как индикатор выполнения в android
- 18. Как изменить цвет значка поиска.
- 19. Настройка значка на панели задач значка, отображаемого в заголовке (C#)?
- 20. Настройка значка iOS из Qt
- 21. Настройка значка приложения (Xcode 7)
- 22. Настройка значка для поставщика XAML
- 23. Настройка значка приложения с CMake
- 24. Настройка значка для моего приложения?
- 25. Настройка Treecell: размещение значка стрелки
- 26. Настройка значка кнопки AddThis Графика
- 27. Настройка значка приложения из My.Resources?
- 28. Настройка значка на нажатой UITabBarController
- 29. Изменение позиции значка поиска по умолчанию в режиме поиска
- 30. Настройка поиска
Вы пытались создать пользовательский вид? – sandrstar
@sandrstar пользовательский вид для панели поиска? класс, расширяющий строку поиска? Не так много идеи, как разместить эти точки. Любая помощь приветствуется, спасибо – user2558496