Форум программистов, компьютерный форум, киберфорум
Наши страницы

Разноцветный список цветов без текста - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Получить текст отображаемый приложением http://www.cyberforum.ru/android-dev/thread921898.html
Всем привет. У меня возникла задача: Мне нужно программно "увидеть" что отображает запущенное приложение на девайсе. Например я запускаю хром через adb или вручную неважно, загружаю страницу и мне...
Программирование Android Достать определённый столбец из SQLite Знаю про moveToFirst, moveToNext, а что делать если нужно достать данные из определенного столбца с именем допустим name, например, для того, чтобы сравнить значение этого столбца с определённой... http://www.cyberforum.ru/android-dev/thread921866.html
Смена компа-компилятора. Не хочет обновляться у пользователей Программирование Android
Поставил пользователям программу. Затем сменил комп, перенес исходники. Но теперь не могу поставить новую версию пользователем. Выдаешь ошибку, мол другой продукт под тем же доменом уже установлен....
Потоки в фрагменте не запустить? Программирование Android
Не могу использовать потоки в фрагменте. использую конструкцию: new Thread() { @Override public void run() { ...code }.start(); }
Программирование Android Сортировка данных в базе http://www.cyberforum.ru/android-dev/thread921772.html
А как можно отсортировать данные в базе SqLite?
Программирование Android Не срабатывает onResume в Fragment Есть активность которая содержит три фрагмента. Переключаясь между фрагментами не срабатывает onResume. Почему? Добавлено через 39 минут Разобрался. Суть в том что onResume срабатывает только... подробнее

Показать сообщение отдельно
Nika_DE
0 / 0 / 0
Регистрация: 10.06.2013
Сообщений: 3
13.07.2013, 11:13  [ТС]
Показалось, что уже никто не ответит и поэтому было решено сделать массив с картинками определённых цветов.
Есть хороший пример для такого случая, здесь:

http://www.mobilab.ru/androiddev/androidlistview.html

Вот что было начато:

1. Создан xml файл "farbpalette_layout.xml":

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black"
    android:orientation="vertical" >
 
    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>
 
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/listtext"
        android:src="@drawable/f_gray" />
 
</LinearLayout>

Затем класс для хранения информации "ListItem.java". Он довольно маленький. Может, нужно было его вставить в класс адаптора, как внутренний класс?

Java
1
2
3
4
5
6
7
8
public class ListItem {
 
    int image;
 
    public ListItem(int _image) {
        image = _image;
    }
}
Теперь сам класс адаптора "FarbenAdapter.java":

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class FarbenAdapter extends BaseAdapter {
 
    private final Context context;
    LayoutInflater l_inflater;
    ArrayList<ListItem> items;
 
    public FarbenAdapter(Context context, ArrayList<ListItem> items) {
 
        this.context = context;
        this.items = items;
        l_inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
 
    @Override
    public int getCount() {
        return items.size();
    }
 
    @Override
    public ListItem getItem(int position) {
        return items.get(position);
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if (view == null) {
            view = LayoutInflater.from(context).inflate(
                    R.layout.farbpalette_layout, null);
        }
        ListItem item = (getItem(position));
        ((ImageView) view.findViewById(R.id.imageView1))
                .setImageResource(item.image);
 
        return view;
    }
}
И последнее - использование всех этих заготовок в классе Activity "FarbenActivity.java":


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class FarbenActivity extends ListActivity {
 
    private ArrayList<ListItem> farben;
 
    // Массив с картинками разного цвета
    int[] img = { R.drawable.f_darkgray, R.drawable.f_black,
            R.drawable.f_deep_pink, R.drawable.f_red, R.drawable.f_red2 };
 
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        farben = new ArrayList<ListItem>();
        for (int i = 1; i <= 5; i++) {
            farben.add(new ListItem(img[i - 1]));
        }
        FarbenAdapter fabAdapter;
        fabAdapter = new FarbenAdapter(this, farben);
        setListAdapter(fabAdapter);
    }
 
    public void onListItemClick(ListView parent, int position) {
        Toast.makeText(this, "Farbenname", Toast.LENGTH_SHORT).show();
        // При щелчке на элемент списка будет всплывать название данного цвета
    }
 
    public boolean onOprionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        startActivity(item.getIntent());
        return true;
    }
}
Добавлено через 10 минут
Использование большого количества картинок, каждая из которых изображает один цвет - довольно неуклюжее решение.
Во-первых, будет занято слишком много памяти и, во-вторых, программным путём куда интереснее добиться решения, чем сидеть и делать такие скучные изображения.

Так здорово будет, если вы мне поможете, я хоть продвинусь в своих знаниях ещё чуть-чуть.

Добавлено через 17 часов 29 минут
DedBoroda, вы можете мне объяснить, что может быть в описании класса Color? Какой тип взять для обозначения цвета?
Значит, мне лучше всё заново написать или можно немного изменить адаптор? Можете помочь? Я не очень понимаю как написать адаптор для такого случая.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru