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


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

https://github.com/roomorama/Caldroid#allow-customized-cell-for-the-dates-gridview
...
Рейтинг: 0 / 0
Библиотека принимает только ресурсы
    #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
Библиотека принимает только ресурсы
    #38870474
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Библиотека принимает только ресурсы
    #38870916
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanСюда заглядывал?
https://github.com/roomorama/Caldroid/tree/master/caldroidSampleActivity/src/main/java/com/caldroidsample
я думал адаптер как в listview применять надо, искал такой способ, оказывается и это тоже адапетр
...
Рейтинг: 0 / 0
Библиотека принимает только ресурсы
    #38871004
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanСюда заглядывал?
https://github.com/roomorama/Caldroid/tree/master/caldroidSampleActivity/src/main/java/com/caldroidsample
есть такая проблема с этой библиотекой при использовании адаптера,
при запуске она вызывает getview 150 раз, то есть для 5 месяцев при листании вызывается этот же метод еще 150 раз, очень долго, можно ли как то это обойти
...
Рейтинг: 0 / 0
Библиотека принимает только ресурсы
    #38871017
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елдос, это не проблема, а фича: готовятся в пролистыванию предыдущий и следующий месяцы одновременно с текущим.
...
Рейтинг: 0 / 0
Библиотека принимает только ресурсы
    #38871062
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanЕлдос, это не проблема, а фича: готовятся в пролистыванию предыдущий и следующий месяцы одновременно с текущим.
была бы хорошей фичей если бы она готовила один раз а при листании добавляла еще один месяц готовила не повторно 5, а она при первом вызове готовит для текущего месяца для предыдущих двух месяцев для следующих двух месяцев а когда листаю она проделывает тоже самое то есть она опять готовит для текущего(на который пролистал) и двух предыдущих и двух следующих.
получается то что она приготовила не применяет
...
Рейтинг: 0 / 0
Библиотека принимает только ресурсы
    #38871064
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕлдосwadmanЕлдос, это не проблема, а фича: готовятся в пролистыванию предыдущий и следующий месяцы одновременно с текущим.
была бы хорошей фичей если бы она готовила один раз а при листании добавляла еще один месяц готовила не повторно 5, а она при первом вызове готовит для текущего месяца для предыдущих двух месяцев для следующих двух месяцев а когда листаю она проделывает тоже самое то есть она опять готовит для текущего(на который пролистал) и двух предыдущих и двух следующих.
получается то что она приготовила не применяет
как это можно исправить?
...
Рейтинг: 0 / 0
Библиотека принимает только ресурсы
    #38871104
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елдосполучается то что она приготовила не применяет
Выводи в лог все даты, которые при это готовятся и увидишь логику. Так многие встроенные адаптеры делают.

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

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


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