Nano Hash - криптовалюты, майнинг, программирование

Вертикальная линия в индикаторе выполнения Android

Мне нужен горизонтальный индикатор выполнения с черной вертикальной линией в конце основного процесса. С моим кодом индикатор выполнения в порядке, но линия всегда находится в середине панели. Я попытался использовать clip, но затем он исчезает, а не идет в конце сегмента.

Мой код

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@android:id/background">
     <shape android:shape="rectangle">
         <corners android:radius="5dip" />
         <solid android:color="#ffffffff" />
         <stroke android:width="1dip" android:color="#ff000000" />
     </shape>
 </item>

 <item android:id="@android:id/progress">
     <clip>
         <shape>
             <corners android:radius="5dip" />
             <solid android:color="#33b5e5" />
             <stroke android:width="1dip" android:color="#ff000000" />
         </shape>
     </clip>
 </item>

 <item android:id="@+id/line">
     <rotate android:fromDegrees="90"
            android:toDegrees="90" >
         <shape android:shape="line">
             <stroke android:width="5dp" android:color="#ff000000"/> 
         </shape>
     </rotate> 
 </item>

</layer-list>

Мой вопрос

Поскольку мне нужно добавить еще один процесс на панель, я не могу использовать тег secondaryProgress для строки. Кроме того, есть довольно много возможностей для положения линии и цветов полосы, и я бы не хотел делать 10 разных рисунков.

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

Цель

Вот фото того, что я хочу получить в итоге:

введите здесь описание изображения

Мне нужна вертикальная линия для отображения отметки 100% в барах, которые могут «превышать 100%». Ход выполнения может отображаться слева направо или справа налево.


  • Можете ли вы добавить скриншот того, что вы хотите? 27.08.2014
  • Привет, я только что добавил изображение в конец вопроса. Это помогает? 27.08.2014
  • Хорошо... проверьте, помогает ли это. 27.08.2014
  • Нет, это просто стандартная настройка, я вчера посмотрел. Итак, я уже знаю, что такое настройка индикатора выполнения, это не вопрос. 27.08.2014

Ответы:


1

Я нашел решение... Я удалил элемент строки из приведенного выше кода и добавил следующий код в метод onDraw():

Paint linePaint = new Paint();
linePaint.setColor(getResources().getColor(android.R.color.black));
final float lineWidth = 5f;
linePaint.setStrokeWidth(lineWidth);
canvas.drawLine(getWidth() * m100 / 100, 0, 
                getWidth() * m100 / 100, getHeight(), 
                linePaint);

В коде m100 — это позиция строки как целое число. Например, это 80, если метка 100% соответствия должна быть расположена на 80% длины стержня.

29.08.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..