Как отобразить пользовательскую цветовую полосу в виде списка Адаптер в Android

Я хочу отображать пользовательскую цветовую полосу, как столбец (но не график), в моем пользовательском представлении списка Android. Я попробовал AchartEngine, но он дает мне ненужные вещи, такие как значения имени диаграммы x и y, а также код в методе Getview для адаптера списка, который потребляет память.

Я ищу решение, которое может рисовать только простую цветную полосу в моем элементе представления списка без проблем с памятью и производительностью. Пожалуйста, найдите прикрепленное изображение, что я хочу сделать именно.

введите здесь описание изображенияэто мой код для AchartEngine

public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    ViewHolder viewHolder;
     if( convertView == null ){
         LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            convertView = inflater.inflate(R.layout.lea_search_adaptor_item, parent, false);

    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

    int[] y = { 60, 50, 55, 80,60};
    CategorySeries series = new CategorySeries("");// i don't want title
    for (int i = 0; i < y.length; i++) {
        series.add("Bar " + (i+1), y[i]);
    }
    dataset.addSeries(series.toXYSeries());
    XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
    mRenderer.setChartTitle("");
    mRenderer.setXTitle(""); // i don't want title
    mRenderer.setYTitle("");// i don't want title
    mRenderer.setAxesColor(Color.GREEN);
    mRenderer.setLabelsColor(Color.RED);
    // Customize bar 1
    XYSeriesRenderer renderer = new XYSeriesRenderer();
    renderer.setDisplayChartValues(true);
    renderer.setChartValuesSpacing((float) 0.5);
    mRenderer.addSeriesRenderer(renderer);

    LinearLayout layout = (LinearLayout)convertView.findViewById(R.id.chart);
    GraphicalView graphicalView = ChartFactory.getBarChartView(context, dataset, mRenderer, null);
    layout.addView(graphicalView);
   else
     {
         viewHolder = (ViewHolder) convertView.getTag();
     }

        return convertView;
}

person Swap-IOS-Android    schedule 28.07.2014    source источник
comment
I want to display Custom colour Bar like column (but not graph), I tried AchartEngine... можно подробнее? aChartEngine предназначен для рисования графиков, но вы сказали графики вам не нужны.   -  person Phantômaxx    schedule 28.07.2014
comment
@FrankN.Stein Я хочу отображать 6 цветных полос или правую часть каждого элемента представления списка ... 6 разных цветных полос, и я не хочу отображать заголовки, заголовок x, заголовок y.   -  person Swap-IOS-Android    schedule 28.07.2014
comment
Являются ли эти цветные столбики графиком или просто цветными прямоугольниками? Потому что неясно, почему вы используете графический движок, если вы говорите, что вам не нужны графики... Вместо этого вы можете использовать xml drawables или 9 патчей.   -  person Phantômaxx    schedule 28.07.2014
comment
@FrankN.Stein Любой пример, который объясняет, как я могу использовать 9 патчей ..   -  person Swap-IOS-Android    schedule 28.07.2014
comment
9 патчей — это просто файлы png с добавленной границей в 1 пиксель с каждой стороны. когда вы помещаете несколько черных пикселей на эти границы, вы определяете некоторые области (растяжимые или отступы). Хороший учебник здесь: radleymarx.com/blog/simple-guide-to-9 -патч   -  person Phantômaxx    schedule 28.07.2014
comment
И все эти прекрасные функции без сторонней библиотеки! Я люблю 9 патчей!!   -  person Phantômaxx    schedule 28.07.2014
comment
@FrankN.Stein хорошо, так что, по вашему мнению, я должен использовать представление изображения, которое может отображать 9 цветных изображений, и я могу изменить высоту изображения, чтобы отобразить цветную полосу в элементе представления списка?   -  person Swap-IOS-Android    schedule 28.07.2014
comment
Ну, я все еще не понимаю, какова ваша точная цель. Не могли бы вы добавить изображение с нужным элементом поиска элементов ListView? Это не обязательно должна быть настоящая вещь, подойдет макет Paint или GIMP.   -  person Phantômaxx    schedule 28.07.2014
comment
@FrankN.Stein, пожалуйста, взгляните на изображение .. Я хочу реализовать что-то подобное .. динамическая цветная полоса содержимого каждого элемента списка, значение которой изменяется в зависимости от предложения работы ... Изображение добавлено в основной вопрос   -  person Swap-IOS-Android    schedule 28.07.2014
comment
... динамично! так это графики! тогда почему вы сказали, что вам не нужны графики? это реальные графики (даже если они микроразмера). Нет, тогда это не подходящий случай для 9 патчей. необходим механизм гистограммы, такой как aChartEngine или ChartView. Я надеялся, что вам нужно что-то другое (может быть, фиксированный график, например значок, и меняется только %). Ради скорости и ресурсов.   -  person Phantômaxx    schedule 28.07.2014
comment
@FrankN.Stein хорошо, я использовал aChartEngine. но я не понимаю, как изменить ширину столбца и просто отобразить 6 столбцов.   -  person Swap-IOS-Android    schedule 28.07.2014
comment
Чтобы отобразить 6 столбцов, просто введите массив с 6 значениями. Размеры баров, я думаю, автоматические (я никогда не играл с барами). Ну, используя aChartEngine, вы можете экспериментировать с другими типами графиков, такими как круговая диаграмма, которая может быть хорошей альтернативой (?)   -  person Phantômaxx    schedule 28.07.2014
comment
@FrankN.Stein Не могли бы вы рассказать мне, как остановить прокрутку диаграммы в aChartEngine?   -  person Swap-IOS-Android    schedule 30.07.2014
comment
Это другой вопрос. Попробуйте опубликовать еще один вопрос по аргументу, если он еще не существует.   -  person Phantômaxx    schedule 30.07.2014
comment
@FrankN.Stein я нашел это .. я использовал mRenderer.setPanLimits(new double[]{0,10,0,5});   -  person Swap-IOS-Android    schedule 30.07.2014
comment
@Swap-IOS-Android У меня тоже такая же проблема, но в моем случае в списке не отображается ни один график, когда я его использовал. Можете ли вы сказать мне, как мне заполнить график, например, просмотр списка?   -  person Spry Techies    schedule 26.08.2014


Ответы (1)


попробуй это

 mRenderer.setShowLabels(false);
 mRenderer.setShowLegend(false);

Для цветов

public static int[] COLORS_I = new int[] {Color.argb(255, 142, 142,142),Color.argb(255, 229, 77, 67),Color.argb(255, 255, 149, 0),
    Color.argb(255, 59, 153, 216),Color.argb(255, 42, 187, 155),Color.argb(255, 240, 195, 48)}; 

SimpleSeriesRenderer renderer_I = new SimpleSeriesRenderer();  
renderer_I.setColor(COLORS_I[(arraylist.getItemCount() - 1) % COLORS_I.length]);  
mRenderer_I.addSeriesRenderer(renderer_I); 

Надеюсь, поможет ..

person Rajesh Mikkilineni    schedule 28.07.2014
comment
это работает ... он удаляет все надписи с графика ... но я ищу другое решение, которое не влияет на мою производительность. - person Swap-IOS-Android; 28.07.2014
comment
Пожалуйста, взгляните на картинку на главный вопрос - person Swap-IOS-Android; 28.07.2014