Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Получить текст отображаемый приложением http://www.cyberforum.ru/android-dev/thread921898.html
Всем привет. У меня возникла задача: Мне нужно программно "увидеть" что отображает запущенное приложение на девайсе. Например я запускаю хром через adb или вручную неважно, загружаю страницу и мне нужно получить текст отображаемой страницы. т.е мне надо получить либо все виджиты хрома с отображаемой информацией на них (это было бы идеально), либо html ну или просто отображаемый текст. Может...
Программирование Android Достать определённый столбец из SQLite Знаю про moveToFirst, moveToNext, а что делать если нужно достать данные из определенного столбца с именем допустим name, например, для того, чтобы сравнить значение этого столбца с определённой переменной? Большое спасибо. Добавлено через 13 минут Немного не так выразился, нужно получить не значение столбца, а поля. Можно вообще дать какое-то имя ячейке и по нему получать доступ к... 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? Какой тип взять для обозначения цвета?
Значит, мне лучше всё заново написать или можно немного изменить адаптор? Можете помочь? Я не очень понимаю как написать адаптор для такого случая.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru