2015-07-15 4 views
2

Я только начинаю с разработки приложений для Android. Поэтому у меня есть вопрос, для проектирования моего графического интерфейса. Возможно, есть возможный встроенный виджет, но у меня нет правильной формулировки, чтобы найти его (английский не мой родной язык).Progress Bar Stairs

Я ищу что-то вроде панели рейтинга, где вы можете выбрать значение от 1 до 5. Вместо звезд я хотел бы иметь несколько баров (левая - самая маленькая, правая самый высокий). Должен выглядеть как «Лестница» в уведомлении о силе сигнала. Чтобы сделать его более сложным, я бы хотел иметь разные цвета для каждого бара (наименьшее значение зеленое, максимальное значение красного). Поэтому я не думаю, что рейтинг-бар с разными рисунками будет соответствовать моим потребностям, потому что afaik я мог бы просто изменить раскладку звезды, а не как первая звезда должна стать 5dp-баром, вторая - 15dp и так далее.

Есть ли встроенный виджет, который я мог бы использовать?

Я приложил картинку, чтобы показать свою идею.

image view

Я надеюсь, что вы можете мне помочь

ответ

3

, что вы хотите легко достижимо с level-list. В вашем случае вам нужно пять различных, на вводимый коэффициент для каждого уровня, а затем объединить их в вытяжке файла XML, как:

<?xml version="1.0" encoding="utf-8"?> 
<level-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:drawable="@drawable/no_level" 
    android:maxLevel="0" /> 
<item 
    android:drawable="@drawable/first_level" 
    android:maxLevel="1" /> 
<item 
    android:drawable="@drawable/second_level" 
    android:maxLevel="2" /> 
<item 
    android:drawable="@drawable/third_level" 
    android:maxLevel="3" /> 

<item 
    android:drawable="@drawable/forth_level" 
    android:maxLevel="4" /> 
</level-list> 

и установить эту вытяжку в качестве источника для ImageView, например. Во время выполнения извлеките ImageView и позвоните по номеру setImageLevel со значением от 0 до 4, и будет отображаться соответствующий уровень.

+0

Хорошо, спасибо, спасибо :) Можно ли определить, на какой панели (или части вытягиваемого) пользователь нажимает? Например, когда я хочу, чтобы пользователь установил уровень изображения непосредственно на 3, когда он коснулся третьего бара? –

+0

не с решением уровня. Вероятно, я неправильно понял ваш вопрос. Почему вы не можете использовать RatingBar? – Blackbelt

+0

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