首页>代码>安卓开发实现实时拍照滤镜、录像、图片修改的完整项目>/MagicCamera-master/Project-AndroidStudio/app/src/main/java/com/seu/magiccamera/adapter/FilterAdapter.java
package com.seu.magiccamera.adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; import com.seu.magiccamera.R; import com.seu.magiccamera.helper.FilterTypeHelper; import com.seu.magicfilter.filter.helper.MagicFilterType; /** * Created by why8222 on 2016/3/17. */ public class FilterAdapter extends RecyclerView.Adapter<FilterAdapter.FilterHolder>{ private MagicFilterType[] filters; private Context context; private int selected = 0; public FilterAdapter(Context context, MagicFilterType[] filters) { this.filters = filters; this.context = context; } @Override public FilterHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.filter_item_layout, parent, false); FilterHolder viewHolder = new FilterHolder(view); viewHolder.thumbImage = (ImageView) view .findViewById(R.id.filter_thumb_image); viewHolder.filterName = (TextView) view .findViewById(R.id.filter_thumb_name); viewHolder.filterRoot = (FrameLayout)view .findViewById(R.id.filter_root); viewHolder.thumbSelected = (FrameLayout) view .findViewById(R.id.filter_thumb_selected); viewHolder.thumbSelected_bg = view. findViewById(R.id.filter_thumb_selected_bg); return viewHolder; } @Override public void onBindViewHolder(FilterHolder holder,final int position) { holder.thumbImage.setImageResource(FilterTypeHelper.FilterType2Thumb(filters[position])); holder.filterName.setText(FilterTypeHelper.FilterType2Name(filters[position])); holder.filterName.setBackgroundColor(context.getResources().getColor( FilterTypeHelper.FilterType2Color(filters[position]))); if(position == selected){ holder.thumbSelected.setVisibility(View.VISIBLE); holder.thumbSelected_bg.setBackgroundColor(context.getResources().getColor( FilterTypeHelper.FilterType2Color(filters[position]))); holder.thumbSelected_bg.setAlpha(0.7f); }else { holder.thumbSelected.setVisibility(View.GONE); } holder.filterRoot.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(selected == position) return; int lastSelected = selected; selected = position; notifyItemChanged(lastSelected); notifyItemChanged(position); onFilterChangeListener.onFilterChanged(filters[position]); } }); } @Override public int getItemCount() { return filters == null ? 0 : filters.length; } class FilterHolder extends RecyclerView.ViewHolder { ImageView thumbImage; TextView filterName; FrameLayout thumbSelected; FrameLayout filterRoot; View thumbSelected_bg; public FilterHolder(View itemView) { super(itemView); } } public interface onFilterChangeListener{ void onFilterChanged(MagicFilterType filterType); } private onFilterChangeListener onFilterChangeListener; public void setOnFilterChangeListener(onFilterChangeListener onFilterChangeListener){ this.onFilterChangeListener = onFilterChangeListener; } }

yerwiu LV10
2024年1月6日
yyyyyyzh LV8
2023年6月11日
快乐的程序员 LV25
2023年1月21日
zhendong LV7
2022年9月25日
dangzhiyuan012 LV12
2022年3月17日
12312312asd LV5
2022年1月8日
529909739 LV2
2021年11月3日
yjp233 LV6
2021年10月19日
wyx065747 LV67
2021年1月3日
a576353201 LV8
2020年11月18日