Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Библиотека принимает только ресурсы / 12 сообщений из 12, страница 1 из 1
03.02.2015, 11:56
    #38870216
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
Библиотека принимает только int, есть эскизы из видео снятых с камеры,
Код: java
1.
2.
Bitmap bmThumbnail;
        bmThumbnail = ThumbnailUtils.createVideoThumbnail(path_to_file, Thumbnails.MICRO_KIND);


выходит bitmap но библиотека caldroid просит только принимает Только Int возможно ли как то перенести bitmap в понятную ему id resource
...
Рейтинг: 0 / 0
03.02.2015, 13:09
    #38870311
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
Елдос, caldroid позволяет и вовсе использовать свой шаблон, а не только подставлять ресурсы.

https://github.com/roomorama/Caldroid#allow-customized-cell-for-the-dates-gridview
...
Рейтинг: 0 / 0
03.02.2015, 14:37
    #38870420
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
wadmanЕлдос, caldroid позволяет и вовсе использовать свой шаблон, а не только подставлять ресурсы.

https://github.com/roomorama/Caldroid#allow-customized-cell-for-the-dates-gridview
прошу прощения но я не смог разобраться как применять созданный адаптер,
я сделал adapter

Код: 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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.roomorama.caldroid.CaldroidFragment;
import com.roomorama.caldroid.CaldroidGridAdapter;

import java.util.HashMap;

import hirondelle.date4j.DateTime;

public class CaldroidSampleCustomAdapter extends CaldroidGridAdapter {

	public CaldroidSampleCustomAdapter(Context context, int month, int year,
			HashMap<String, Object> caldroidData,
			HashMap<String, Object> extraData) {
		super(context, month, year, caldroidData, extraData);
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		LayoutInflater inflater = (LayoutInflater) context
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		View cellView = convertView;

		// For reuse
		if (convertView == null) {
			cellView = inflater.inflate(R.layout.custom_cell, null);
		}

		int topPadding = cellView.getPaddingTop();
		int leftPadding = cellView.getPaddingLeft();
		int bottomPadding = cellView.getPaddingBottom();
		int rightPadding = cellView.getPaddingRight();

		TextView tv1 = (TextView) cellView.findViewById(R.id.tv1);
		TextView tv2 = (TextView) cellView.findViewById(R.id.tv2);
//        tv1.setTextColor(R.color.green);
		tv1.setTextColor(Color.GREEN);

		// Get dateTime of this cell
		DateTime dateTime = this.datetimeList.get(position);
		Resources resources = context.getResources();

		// Set color of the dates in previous / next month
		if (dateTime.getMonth() != month) {
			tv1.setTextColor(resources
					.getColor(com.caldroid.R.color.caldroid_darker_gray));
		}

		boolean shouldResetDiabledView = false;
		boolean shouldResetSelectedView = false;

		// Customize for disabled dates and date outside min/max dates
		if ((minDateTime != null && dateTime.lt(minDateTime))
				|| (maxDateTime != null && dateTime.gt(maxDateTime))
				|| (disableDates != null && disableDates.indexOf(dateTime) != -1)) {

			tv1.setTextColor(CaldroidFragment.disabledTextColor);
			if (CaldroidFragment.disabledBackgroundDrawable == -1) {
				cellView.setBackgroundResource(com.caldroid.R.drawable.disable_cell);
			} else {
				cellView.setBackgroundResource(CaldroidFragment.disabledBackgroundDrawable);
			}

			if (dateTime.equals(getToday())) {
				cellView.setBackgroundResource(com.caldroid.R.drawable.red_border_gray_bg);
			}

		} else {
			shouldResetDiabledView = true;
		}

		// Customize for selected dates
		if (selectedDates != null && selectedDates.indexOf(dateTime) != -1) {
			if (CaldroidFragment.selectedBackgroundDrawable != -1) {
				cellView.setBackgroundResource(CaldroidFragment.selectedBackgroundDrawable);
			} else {
				cellView.setBackgroundColor(resources
						.getColor(com.caldroid.R.color.caldroid_sky_blue));
			}

			tv1.setTextColor(CaldroidFragment.selectedTextColor);

		} else {
			shouldResetSelectedView = true;
		}

		if (shouldResetDiabledView && shouldResetSelectedView) {
			// Customize for today
			if (dateTime.equals(getToday())) {
				cellView.setBackgroundResource(com.caldroid.R.drawable.red_border);
			} else {
				cellView.setBackgroundResource(com.caldroid.R.drawable.cell_bg);
			}
		}

		tv1.setText("" + dateTime.getDay());
		tv2.setText("Hi");

		// Somehow after setBackgroundResource, the padding collapse.
		// This is to recover the padding
		cellView.setPadding(leftPadding, topPadding, rightPadding,
				bottomPadding);

		// Set custom color if required
		setCustomResources(dateTime, cellView, tv1);

		return cellView;
	}

}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class CaldroidSampleCustomFragment extends CaldroidFragment {

	@Override
	public CaldroidGridAdapter getNewDatesGridAdapter(int month, int year) {
		// TODO Auto-generated method stub
		return new CaldroidSampleCustomAdapter(getActivity(), month, year,
				getCaldroidData(), extraData);
	}

}



и main activity
но я не понял как мне применить этот фрагмент в
Код: 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.
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        createDirectory();
        gridview   = (GridView) findViewById(R.id.calendar_gridview);
        final CaldroidFragment caldroidFragment = new CaldroidFragment();
        caldroidFragment.getNewWeekdayAdapter();
        Bundle args = new Bundle();
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DATE, -18);
        Date blueDate = cal.getTime();
        ArrayList<Date> dates = new ArrayList<>();
        dates.add(blueDate);
        caldroidFragment.setDisableDates(dates);
        cal.add(Calendar.DATE, -10);
        blueDate = cal.getTime();
        cal.add(Calendar.DATE, 5);
        caldroidFragment.setTextColorForDate(R.color.green, blueDate);
        args.putInt(CaldroidFragment.MONTH, cal.get(Calendar.MONTH) + 2);
        args.putInt(CaldroidFragment.YEAR, cal.get(Calendar.YEAR));
        args.putInt(CaldroidFragment.START_DAY_OF_WEEK, CaldroidFragment.MONDAY); // Tuesday
        cal.add(Calendar.MONTH, 5);
        imageView = (ImageView) findViewById(R.id.imageView);
        WeekdayArrayAdapter.textColor = Color.GRAY;
        android.support.v4.app.FragmentTransaction t = getSupportFragmentManager().beginTransaction();
        t.replace(R.id.calendar1, caldroidFragment);
        t.commit();



Модератор: Убрал в спойлеры.
...
Рейтинг: 0 / 0
03.02.2015, 15:13
    #38870474
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
...
Рейтинг: 0 / 0
04.02.2015, 05:36
    #38870916
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
wadmanСюда заглядывал?
https://github.com/roomorama/Caldroid/tree/master/caldroidSampleActivity/src/main/java/com/caldroidsample
я думал адаптер как в listview применять надо, искал такой способ, оказывается и это тоже адапетр
...
Рейтинг: 0 / 0
04.02.2015, 09:02
    #38871004
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
wadmanСюда заглядывал?
https://github.com/roomorama/Caldroid/tree/master/caldroidSampleActivity/src/main/java/com/caldroidsample
есть такая проблема с этой библиотекой при использовании адаптера,
при запуске она вызывает getview 150 раз, то есть для 5 месяцев при листании вызывается этот же метод еще 150 раз, очень долго, можно ли как то это обойти
...
Рейтинг: 0 / 0
04.02.2015, 09:17
    #38871017
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
Елдос, это не проблема, а фича: готовятся в пролистыванию предыдущий и следующий месяцы одновременно с текущим.
...
Рейтинг: 0 / 0
04.02.2015, 09:53
    #38871062
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
wadmanЕлдос, это не проблема, а фича: готовятся в пролистыванию предыдущий и следующий месяцы одновременно с текущим.
была бы хорошей фичей если бы она готовила один раз а при листании добавляла еще один месяц готовила не повторно 5, а она при первом вызове готовит для текущего месяца для предыдущих двух месяцев для следующих двух месяцев а когда листаю она проделывает тоже самое то есть она опять готовит для текущего(на который пролистал) и двух предыдущих и двух следующих.
получается то что она приготовила не применяет
...
Рейтинг: 0 / 0
04.02.2015, 09:54
    #38871064
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
ЕлдосwadmanЕлдос, это не проблема, а фича: готовятся в пролистыванию предыдущий и следующий месяцы одновременно с текущим.
была бы хорошей фичей если бы она готовила один раз а при листании добавляла еще один месяц готовила не повторно 5, а она при первом вызове готовит для текущего месяца для предыдущих двух месяцев для следующих двух месяцев а когда листаю она проделывает тоже самое то есть она опять готовит для текущего(на который пролистал) и двух предыдущих и двух следующих.
получается то что она приготовила не применяет
как это можно исправить?
...
Рейтинг: 0 / 0
04.02.2015, 10:31
    #38871104
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
Елдосполучается то что она приготовила не применяет
Выводи в лог все даты, которые при это готовятся и увидишь логику. Так многие встроенные адаптеры делают.

Елдоскак это можно исправить?
Лезть в код caldroid. Я туда не лазил, т.к. меня это устраивает. Не исключаю, что это наследие самого андроида и тогда придется мириться.
...
Рейтинг: 0 / 0
04.02.2015, 14:30
    #38871438
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
wadman,

да я логирую и вижу что вызывает два раз по 150 раз, это если бы как slidingtablayout вот там он готовит по одному соседних и при листании он использует готовую вьюшку и готовит дополнительно еще одну, а тут получается что он готовит по два соседних и их потом еще и не использует, я думаю это вряд ли андроид, шарился в коде caldroid обошел каждую строку но ничего не нашел подобного где он такое запрашивает
...
Рейтинг: 0 / 0
04.02.2015, 15:15
    #38871496
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека принимает только ресурсы
Елдося думаю это вряд ли андроид, шарился в коде caldroid обошел каждую строку но ничего не нашел подобного где он такое запрашивает
Не находишь противоречий? :-) Если не календарь, то кто? Присмотрись тогда к другим календарям... Я в свое время подгрузку данных из базы (а у меня там много чего хранится для календаря) сделал в другом потоке, ибо тормоза...
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Библиотека принимает только ресурсы / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]