2016-11-26 14 views
0

我有一個RecyclerView,並且我正在填充4個imageView。我的需要是,當第一項是在頂部的可見位置,它必須在阿爾法1和其他項目必須在0.2f阿爾法..根據回收站適配器中的位置在ImgeView上設置Alfa

當我滾動我的回收視圖然後,項目誰來位於頂端,它應該是設置爲阿爾法1.我做什麼..

我的適配器

@Override 
public void onBindViewHolder(PageCircleIndiAdapter.ViewHolder holder, int position) { 
    final PageModels pageModels = pageList.get(position); 
    if (pageList.get(position) != null) { 
     holder.imageView.setImageResource(pageModels.resourceId); 

    } 
    if (position == 0) { 
     holder.rlyt.setAlpha(1f); 
     pageCircleIndicator.changeIndicator(position); 
    } 

    else if (position >firstVisible && position<lastVisible) { 
     holder.rlyt.setAlpha(1f); 
     pageCircleIndicator.changeIndicator(position); 
    } else if(position==pageList.size()-1){ 
     holder.rlyt.setAlpha(1f); 
     pageCircleIndicator.changeIndicator(position); 
    } 
    else { 
     holder.rlyt.setAlpha(0.2f); 
     pageCircleIndicator.changeIndicator(position); 
    } 
} 

**我的MainActivity滾動監聽器**

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
     @Override 
     public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
      super.onScrolled(recyclerView, dx, dy); 
      LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager(); 

      int firstVisible = manager.findFirstVisibleItemPosition(); 
      int lastVisible = manager.findLastVisibleItemPosition(); 
      Log.i("TAG", "onScrolled: " + firstVisible); 
      Log.i("TAG", "Last Index: " + lastVisible); 
      pageAdapter.changeItem(firstVisible, lastVisible); 

     } 

    }); 

    createIndicator(); 
    pageAdapter.notifyDataSetChanged(); 
} 

回答

1

默認情況下,將項目佈局alfa 0.2f保存在xml佈局中。

現在,您正在使用changeItem方法將第一個可見項目位置傳遞給addOnScrollListener中的適配器。在適配器做出如下改變:

+0

Thanxx太多了..完美 –

相關問題