2015-06-01 78 views
2

我試圖實現一個RecylerView顯示在屏幕上1個CardView的時間和通過兩個左,右箭頭ImageButtons控制。我不想讓用戶自己滾動瀏覽RecyclerView。我如何禁用RecylerView的滾動和拖動功能?禁用Android的RecylerView滾動和一扔

這裏就是我初始化一個LinearLayoutManager

final LinearLayoutManager llm = new LinearLayoutManager(this); 

    llm.setOrientation(LinearLayoutManager.HORIZONTAL); 

    final RecyclerView recList = (RecyclerView) findViewById(R.id.card_holder); 
    recList.setHasFixedSize(true); 
    recList.setLayoutManager(llm); 

視圖和這裏是我設置的左,右滾動按鈕

ImageButton rightClick = (ImageButton) findViewById(R.id.rightClick); 
    ImageButton leftClick = (ImageButton) findViewById(R.id.leftClick); 


    rightClick.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int position = llm.findFirstVisibleItemPosition(); 
      if(position != recList.getAdapter().getItemCount() - 1) { 
       markers[position + 1].showInfoWindow(); 
       GMap.moveCamera(CameraUpdateFactory.newLatLngZoom(result.get(position + 1).latlng, 17.0f)); 
       recList.smoothScrollToPosition(llm.findFirstVisibleItemPosition() + 1); 
      } 
     } 
    }); 

    leftClick.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int position = llm.findFirstVisibleItemPosition(); 
      if(position != 0) { 
       GMap.moveCamera(CameraUpdateFactory.newLatLngZoom(result.get(llm.findFirstVisibleItemPosition() - 1).latlng, 17.0f)); 
       recList.smoothScrollToPosition(llm.findFirstVisibleItemPosition() - 1); 
      } 
     } 
    }); 

回答

0

我不知道確切的解決方案,但這一個工作對我來說

verticalRow.setNestedScrollingEnabled(false);

//這裏verticalRow是recylerview對象

0

這似乎是一個行爲AdapterViewFlipper從它下面提供 摘錄。

類概述

簡單ViewAnimator,將兩個或更多的意見認爲 已被添加到它時的動畫。一次只顯示一個孩子。如果要求 ,則可以在每個孩子之間自動翻轉,間隔爲 。

相關問題