Получить значение по умолчанию для начала и конца в SwipeRefreshLayout

В SwipeRefreshLayout есть метод setProgressViewOffset, в котором можно установить начало и конечный параметр:

start: смещение в пикселях от верхней части этого представления, при котором должен появиться счетчик прогресса.

end: смещение в пикселях от верхней части этого представления, на котором счетчик прогресса должен остановиться после успешного жеста смахивания.

Это полезно, когда у нас есть плавающая панель действий/панель инструментов, и мы добавили заголовок в наш ListView и хотим запустить SwipeRefresh из нижней части представления заголовка.

Интересно, как я могу получить начальное и конечное значение по умолчанию?

Затем, например, для конечного параметра я могу передать end + actionBarSize по умолчанию в setProgressViewOffset.


person Ali    schedule 24.03.2015    source источник
comment
вы не можете просто передать headerHeight + высоту панели действий в качестве конечного параметра?   -  person Blackbelt    schedule 24.03.2015
comment
headerHeight имеет тот же размер, что и высота панели действий. Это Framelayout с ListView и панелью инструментов. Таким образом, заголовок будет охватывать пространство под панелью инструментов. Конечно, я могу передать то, что вы предлагаете, но это не ответ на этот вопрос.   -  person Ali    schedule 24.03.2015
comment
Я использую то же самое, и оно работает без перекрытия двух полос (панель действий + заголовок)   -  person Blackbelt    schedule 24.03.2015
comment
приятно знать, а что вы передаете в качестве начала?   -  person Ali    schedule 24.03.2015
comment
0 или -высота панели действий (вероятно, 0 жестко), но это не должно иметь большого значения   -  person Blackbelt    schedule 24.03.2015


Ответы (1)


попробуйте эти значения.. извлеченные из класса SwipeRefreshLayout

int DEFAULT_CIRCLE_TARGET = 64;
final DisplayMetrics metrics = getResources().getDisplayMetrics();
swipeLayout.setProgressViewOffset(true,swipeContainer.getProgressCircleDiameter(),(int)(DEFAULT_CIRCLE_TARGET *metrics.density));
person Alexander Sidikov Pfeif    schedule 15.02.2016