fix: v10.1.5 - corregir scroll listener, barra visible y URL única
Problemas corregidos: 1. Scroll Listener Corregido (último evento cortado) - Cambiado de findFirstVisibleItemPosition() a findLastCompletelyVisibleItemPosition() - Ahora el scroll solo se detiene cuando el último elemento está completamente visible - Antes: el último evento aparecía solo a la mitad 2. Barra de Scroll Más Visible - Opacidad aumentada de #4DFFFFFF (30%) a #CCFFFFFF (80%) - Ancho de barra: 8dp (antes no definido) - Estilo cambiado de outsideOverlay a insideInset - scrollbarFadeDuration="0" para siempre visible - Radio de esquinas: 4dp (antes 2dp) 3. URL Única (eliminar bloqueos de ISP) - Eliminado sistema de fallback múltiples URLs - Ahora usa solo: https://streamtp10.com/eventos.json - Eliminado KEY_WORKING_URL y lógica de fallback - Código más simple y eficiente Archivos modificados: - app/src/main/java/com/streamplayer/EventRepository.java (simplificado) - app/src/main/java/com/streamplayer/MainActivity.java (scroll fix) - app/src/main/res/drawable/scrollbar_vertical.xml (más visible) - app/src/main/res/layout/activity_main.xml (scrollbar config) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -194,16 +194,15 @@ public class MainActivity extends AppCompatActivity {
|
||||
@Override
|
||||
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
||||
super.onScrolled(recyclerView, dx, dy);
|
||||
// Only prevent downward scroll when at the last item
|
||||
// Only prevent downward scroll when at the last COMPLETELY VISIBLE item
|
||||
if (dy > 0) { // Scrolling down
|
||||
int visibleItemCount = eventLayoutManager.getChildCount();
|
||||
int totalItemCount = eventLayoutManager.getItemCount();
|
||||
int firstVisibleItemPosition = eventLayoutManager.findFirstVisibleItemPosition();
|
||||
|
||||
// Check if we're at the last item
|
||||
if (firstVisibleItemPosition + visibleItemCount >= totalItemCount) {
|
||||
// Prevent further scrolling by stopping the scroll
|
||||
recyclerView.stopScroll();
|
||||
if (totalItemCount > 0) {
|
||||
int lastCompletelyVisiblePosition = eventLayoutManager.findLastCompletelyVisibleItemPosition();
|
||||
// Only stop scroll if we're at the last completely visible item
|
||||
if (lastCompletelyVisiblePosition == totalItemCount - 1) {
|
||||
recyclerView.stopScroll();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user