Material Design学习之 Bottom Sheets (顺便提提CoordinatorLayout)

[复制链接]
来自: MrlLee 分类: Android精品源码 上传时间: 2016-5-24 18:01:02

项目介绍:

Bottom Sheets
Bottom Sheets–底部动作条
底部动作条(Bottom Sheets)是一个从屏幕底部边缘向上滑出的一个面板,使用这种方式向用户呈现一组功能。底部动作条呈现了简单、清晰、无需额外解释的一组操作。
在一个标准的列表样式的底部动作条(Bottom Sheets)中,每一个操作应该有一句描述和一个左对齐的 icon。如果需要的话,也可以使用分隔符对这些操作进行逻辑分组,也可以为分组添加标题或者副标题。

像这样:

请记得遵循MD严谨的设计规则,统一编剧,字体等尺寸规范,像这样
上面那种是类似于ListView的呈现,要变成类似于GridView的样子也行,像这样
CoordinatorLayout(不知道怎么称呼,泪目。。)
CoordinatorLayout实现了多种Material Design中提到的滚动效果(传送门:http://www.google.com/design/spec/patterns/scrolling-techniques.html )
打不开的话我就简单描述下,就是手势上下滑动的一些操作,像这样
只要使用CoordinatorLayout作为基本布局,将自动产生向上移动的动画。
也就是这样
Java

[XML] 查看源文件 复制代码
android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="sample.wjj.materialdesignbottomsheets.MainActivity">

    RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        Button
            android:id="@+id/byRecycleView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="#c2cc"
            android:text="RecycleView方式"
            android:textColor="@android:color/white" />
    RelativeLayout>

    ImageView
        android:src="@drawable/flash"
        android:id="@+id/fillView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">ImageView>

    android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        app:behavior_hideable="false"
        app:behavior_peekHeight="10dp"
        app:layout_behavior="@string/bottom_sheet_behavior" />
android.support.design.widget.CoordinatorLayout>
[XML] 查看源文件 复制代码
android.support.design.widget.CoordinatorLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="sample.wjj.materialdesignbottomsheets.MainActivity">
 
    RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
 
        Button
            android:id="@+id/byRecycleView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="#c2cc"
            android:text="RecycleView方式"
            android:textColor="@android:color/white" />
    RelativeLayout>
 
    ImageView
        android:src="@drawable/flash"
        android:id="@+id/fillView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">ImageView>
 
    android.support.v7.widget.RecyclerViewxmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        app:behavior_hideable="false"
        app:behavior_peekHeight="10dp"
        app:layout_behavior="@string/bottom_sheet_behavior" />
android.support.design.widget.CoordinatorLayout>
接下来我们来看今天的例子
先上下效果图

这里把最上方的2种样式分别实现了一下(无视具体item 还是请跟着规范走)
这样的实现以前用PopupWindow我也写过一篇,效果大致差不多不过,Popup那一系列方法都得自己重写,还是比较麻烦的
OK,那我们来看下如何实现的
包结构
如果你不需要RecycleView的分割线的话就Copy走MainActivity内的内容即可DividerItemDecoration这个类是翔哥 之前写的分割线
直接贴代码,然后在 // 里做解释
Java
[Java] 查看源文件 复制代码
public class MainActivity extends AppCompatActivity implements View.OnClickListener {                 
    public static List mDatas;                                                                
    public Button byRecycleView;                                                                      
    public BottomSheetBehavior behavior;                                                              
    public RecyclerView recyclerView;                                                                 
    public View fillView;                                                                             
    public WjjAdapter wjjAdapter;                                                                     

    @Override                                                                                         
    protected void onCreate(Bundle savedInstanceState) {                                              
        super.onCreate(savedInstanceState);                                                           
        setContentView(R.layout.activity_main);                                                       
        //初始化,业务逻辑                                                                                              
        init();                                                                                       

    }                                                                                                 
    //绿色的按钮,触发隐藏和显示RecycleView    

    //Bottom Sheet 一共有五个状态回调:
    //STATE_COLLAPSED
    //折叠状态。可通过app:behavior_peekHeight来设置默认显示的高度。

    //STATE_SETTING
    //拖拽松开之后到达终点位置(collapsed or expanded)前的状态。

    //STATE_EXPANDED
    //完全展开的状态。

    //STATE_HIDDEN
    //隐藏状态。默认是false,可通过app:behavior_hideable属性设置。

    //STATE_DRAGGING
    //被拖拽状态  

    @Override                                                                                         
    public void onClick(View v) {                                                                     
        switch (v.getId()) {                                                                          
            case R.id.byRecycleView:                                                                  

               //展开控件 behavior.setState(BottomSheetBehavior.STATE_EXPANDED);                                

                break;                                                                                
        }                                                                                             

    }                                                                                                 

    private void init() {                                                                             

        initData();                                                                                   

        byRecycleView = (Button) findViewById(R.id.byRecycleView);                                    
        byRecycleView.setOnClickListener(this);                                                       

        recyclerView = (RecyclerView) findViewById(R.id.recyclerview);                                

        //添加分割线                                                                                       
//        recyclerView.addItemDecoration(new DividerItemDecoration(this,                              
//                DividerItemDecoration.VERTICAL_LIST));                                              

        //设置ListView模式                                                                                          
        recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));            
//设置GridView模式       
//recyclerView.setLayoutManager(new GridLayoutManager(this, 3));                               

        //初始化适配器                                                                                              
        wjjAdapter = new WjjAdapter(this);                                                            
        //设置监听事件                                                                                              
        wjjAdapter.setItemClickListener(new WjjAdapter.ItemClickListener() {                          
            @Override                                                                                 
            public void onItemClick(int pos) {                                                        
//当被点击后隐藏控件                behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);    
//土司被点击的Item的位置                           
                Toast.makeText(MainActivity.this, "--->" + pos, Toast.LENGTH_LONG).show();            
            }                                                                                         
        });        
        //设置适配器                                                                                   
        recyclerView.setAdapter(wjjAdapter);   
        //设置动画                                                       
        recyclerView.setItemAnimator(new DefaultItemAnimator()); 
        //这句很重要,绑定滑动操作内容给 recyclerView                          
        behavior = BottomSheetBehavior.from(recyclerView);  
        //设置滑动回调                                          
        behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { 
        //状态变化时触发              
            @Override                                                                                 
            public void onStateChanged(@NonNull View bottomSheet, int newState) {                     
                if (newState == BottomSheetBehavior.STATE_COLLAPSED || newState == BottomSheetBehavior
//blackView.setBackgroundColor(Color.TRANSPARENT);                                
                    fillView.setVisibility(View.GONE);                                                
                }                                                                                     
            }                                                                                         

            @Override                                                                                 
            public void onSlide(@NonNull View bottomSheet, float slideOffset) {                       
                // 手势滑动时                                                           
                fillView.setVisibility(View.VISIBLE);                                                 
                ViewCompat.setAlpha(fillView, slideOffset);                                           
            }                                                                                         
        });                                                                                           
         //显示RecycleView时才呈现的“树懒--闪电”                                                                                             
        fillView = findViewById(R.id.fillView);                                                       
        fillView.setBackgroundColor(getResources().getColor(R.color.white));                          
        fillView.setVisibility(View.GONE);                                                            
        fillView.setOnClickListener(new View.OnClickListener() {                                      
            @Override                                                                                 
            public void onClick(View v) {                                                             
            //点击闪电时也隐藏掉ReclcyeView
                behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);                               

            }                                                                                         
        });                                                                                           

    }                                                                                                 
     //填充数据                                                                                                 
    public void initData() {                                                                          
        mDatas = new ArrayList();                                                                   
        for (int k = 0; k 6; k++) {                                                                 
            mDatas.add("第" + k + "个");                                                                
        }                                                                                             
    }                                                                                                 

    //下面就是 Adapter的内容了,就不做解释了                                                                                                  
    public static class WjjAdapter                                                                    
            extends RecyclerView.Adapter {                                     

        public ItemClickListener mItemClickListener;                                                  

        public void setItemClickListener(ItemClickListener listener) {                                
            mItemClickListener = listener;                                                            
        }                                                                                             

        public interface ItemClickListener {                                                          
            void onItemClick(int pos);                                                                
        }                                                                                             

        private Context mContext;                                                                     

        public static class ViewHolder extends RecyclerView.ViewHolder {                              

            public final TextView mTextView;                                                          

            public ViewHolder(View view) {                                                            

                super(view);                                                                          
                mTextView = (TextView) view.findViewById(R.id.tv);                                    

            }                                                                                         

        }                                                                                             

        public WjjAdapter(Context context) {                                                          

            super();                                                                                  
            mContext = context;                                                                       

        }                                                                                             

        @Override                                                                                     
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {                        

            ViewHolder holder = new ViewHolder(LayoutInflater.from(                                   
                    parent.getContext()).inflate(R.layout.list_item, parent,                          
                    false));                                                                          
            return holder;                                                                            

        }                                                                                             

        @Override                                                                                     
        public void onBindViewHolder(final ViewHolder holder, final int position) {                   

            holder.mTextView.setOnClickListener(new View.OnClickListener() {                          
                @Override                                                                             
                public void onClick(View v) {                                                         

                    mItemClickListener.onItemClick(position);                                         
                }                                                                                     
            });                                                                                       

            holder.mTextView.setText(mDatas.get(position));                                           
        }                                                                                             

        @Override                                                                                     
        public int getItemCount() {                                                                   
            return mDatas.size();                                                                     
        }                                                                                             
    }                                                                                                 

}
[Java] 查看源文件 复制代码
public class MainActivityextends AppCompatActivityimplements View.OnClickListener {                
    public static ListmDatas;                                                                
    public ButtonbyRecycleView;                                                                      
    public BottomSheetBehaviorbehavior;                                                              
    public RecyclerViewrecyclerView;                                                                
    public ViewfillView;                                                                            
    public WjjAdapterwjjAdapter;                                                                    
 
    @Override                                                                                        
    protected void onCreate(BundlesavedInstanceState) {                                              
        super.onCreate(savedInstanceState);                                                          
        setContentView(R.layout.activity_main);                                                      
        //初始化,业务逻辑                                                                                              
        init();                                                                                      
 
    }                                                                                                
    //绿色的按钮,触发隐藏和显示RecycleView    
 
    //Bottom Sheet 一共有五个状态回调:
    //STATE_COLLAPSED
    //折叠状态。可通过app:behavior_peekHeight来设置默认显示的高度。
 
    //STATE_SETTING
    //拖拽松开之后到达终点位置(collapsed or expanded)前的状态。
 
    //STATE_EXPANDED
    //完全展开的状态。
 
    //STATE_HIDDEN
    //隐藏状态。默认是false,可通过app:behavior_hideable属性设置。
 
    //STATE_DRAGGING
    //被拖拽状态  
 
    @Override                                                                                        
    public void onClick(View v) {                                                                    
        switch (v.getId()) {                                                                          
            case R.id.byRecycleView:                                                                  
 
              //展开控件 behavior.setState(BottomSheetBehavior.STATE_EXPANDED);                                
 
                break;                                                                                
        }                                                                                            
 
    }                                                                                                
 
    private void init() {                                                                            
 
        initData();                                                                                  
 
        byRecycleView = (Button) findViewById(R.id.byRecycleView);                                    
        byRecycleView.setOnClickListener(this);                                                      
 
        recyclerView = (RecyclerView) findViewById(R.id.recyclerview);                                
 
        //添加分割线                                                                                      
//        recyclerView.addItemDecoration(new DividerItemDecoration(this,                              
//                DividerItemDecoration.VERTICAL_LIST));                                              
 
        //设置ListView模式                                                                                          
        recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));            
//设置GridView模式      
//recyclerView.setLayoutManager(new GridLayoutManager(this, 3));                              
 
        //初始化适配器                                                                                              
        wjjAdapter = new WjjAdapter(this);                                                            
        //设置监听事件                                                                                              
        wjjAdapter.setItemClickListener(new WjjAdapter.ItemClickListener() {                          
            @Override                                                                                
            public void onItemClick(int pos) {                                                        
//当被点击后隐藏控件                behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);    
//土司被点击的Item的位置                          
                Toast.makeText(MainActivity.this, "--->" + pos, Toast.LENGTH_LONG).show();            
            }                                                                                        
        });        
        //设置适配器                                                                                  
        recyclerView.setAdapter(wjjAdapter);  
        //设置动画                                                      
        recyclerView.setItemAnimator(new DefaultItemAnimator()); 
        //这句很重要,绑定滑动操作内容给 recyclerView                          
        behavior = BottomSheetBehavior.from(recyclerView);  
        //设置滑动回调                                          
        behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { 
        //状态变化时触发              
            @Override                                                                                
            public void onStateChanged(@NonNull ViewbottomSheet, int newState) {                    
                if (newState == BottomSheetBehavior.STATE_COLLAPSED || newState == BottomSheetBehavior
//blackView.setBackgroundColor(Color.TRANSPARENT);                                
                    fillView.setVisibility(View.GONE);                                                
                }                                                                                    
            }                                                                                        
 
            @Override                                                                                
            public void onSlide(@NonNull ViewbottomSheet, float slideOffset) {                      
                // 手势滑动时                                                          
                fillView.setVisibility(View.VISIBLE);                                                
                ViewCompat.setAlpha(fillView, slideOffset);                                          
            }                                                                                        
        });                                                                                          
        //显示RecycleView时才呈现的“树懒--闪电”                                                                                            
        fillView = findViewById(R.id.fillView);                                                      
        fillView.setBackgroundColor(getResources().getColor(R.color.white));                          
        fillView.setVisibility(View.GONE);                                                            
        fillView.setOnClickListener(new View.OnClickListener() {                                      
            @Override                                                                                
            public void onClick(View v) {                                                            
            //点击闪电时也隐藏掉ReclcyeView
                behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);                              
 
            }                                                                                        
        });                                                                                          
 
    }                                                                                                
    //填充数据                                                                                                
    public void initData() {                                                                          
        mDatas = new ArrayList();                                                                  
        for (int k = 0; k 6; k++) {                                                                
            mDatas.add("第" + k + "个");                                                                
        }                                                                                            
    }                                                                                                
 
    //下面就是 Adapter的内容了,就不做解释了                                                                                                  
    public static class WjjAdapter                                                                    
            extends RecyclerView.Adapter {                                    
 
        public ItemClickListenermItemClickListener;                                                  
 
        public void setItemClickListener(ItemClickListenerlistener) {                                
            mItemClickListener = listener;                                                            
        }                                                                                            
 
        public interface ItemClickListener {                                                          
            void onItemClick(int pos);                                                                
        }                                                                                            
 
        private ContextmContext;                                                                    
 
        public static class ViewHolderextends RecyclerView.ViewHolder {                              
 
            public final TextViewmTextView;                                                          
 
            public ViewHolder(Viewview) {                                                            
 
                super(view);                                                                          
                mTextView = (TextView) view.findViewById(R.id.tv);                                    
 
            }                                                                                        
 
        }                                                                                            
 
        public WjjAdapter(Contextcontext) {                                                          
 
            super();                                                                                  
            mContext = context;                                                                      
 
        }                                                                                            
 
        @Override                                                                                    
        public ViewHolderonCreateViewHolder(ViewGroupparent, int viewType) {                        
 
            ViewHolderholder = new ViewHolder(LayoutInflater.from(                                  
                    parent.getContext()).inflate(R.layout.list_item, parent,                          
                    false));                                                                          
            return holder;                                                                            
 
        }                                                                                            
 
        @Override                                                                                    
        public void onBindViewHolder(final ViewHolderholder, final int position) {                  
 
            holder.mTextView.setOnClickListener(new View.OnClickListener() {                          
                @Override                                                                            
                public void onClick(View v) {                                                        
 
                    mItemClickListener.onItemClick(position);                                        
                }                                                                                    
            });                                                                                      
 
            holder.mTextView.setText(mDatas.get(position));                                          
        }                                                                                            
 
        @Override                                                                                    
        public int getItemCount() {                                                                  
            return mDatas.size();                                                                    
        }                                                                                            
    }                                                                                                
 
}
[Java] 查看源文件 复制代码
public class MainActivityextends AppCompatActivityimplements View.OnClickListener {                
    public static ListmDatas;                                                                
    public ButtonbyRecycleView;                                                                      
    public BottomSheetBehaviorbehavior;                                                              
    public RecyclerViewrecyclerView;                                                                
    public ViewfillView;                                                                            
    public WjjAdapterwjjAdapter;                                                                    
 
    @Override                                                                                        
    protected void onCreate(BundlesavedInstanceState) {                                              
        super.onCreate(savedInstanceState);                                                          
        setContentView(R.layout.activity_main);                                                      
        //初始化,业务逻辑                                                                                              
        init();                                                                                      
 
    }                                                                                                
    //绿色的按钮,触发隐藏和显示RecycleView    
 
    //Bottom Sheet 一共有五个状态回调:
    //STATE_COLLAPSED
    //折叠状态。可通过app:behavior_peekHeight来设置默认显示的高度。
 
    //STATE_SETTING
    //拖拽松开之后到达终点位置(collapsed or expanded)前的状态。
 
    //STATE_EXPANDED
    //完全展开的状态。
 
    //STATE_HIDDEN
    //隐藏状态。默认是false,可通过app:behavior_hideable属性设置。
 
    //STATE_DRAGGING
    //被拖拽状态  
 
    @Override                                                                                        
    public void onClick(View v) {                                                                    
        switch (v.getId()) {                                                                          
            case R.id.byRecycleView:                                                                  
 
              //展开控件 behavior.setState(BottomSheetBehavior.STATE_EXPANDED);                                
 
                break;                                                                                
        }                                                                                            
 
    }                                                                                                
 
    private void init() {                                                                            
 
        initData();                                                                                  
 
        byRecycleView = (Button) findViewById(R.id.byRecycleView);                                    
        byRecycleView.setOnClickListener(this);                                                      
 
        recyclerView = (RecyclerView) findViewById(R.id.recyclerview);                                
 
        //添加分割线                                                                                      
//        recyclerView.addItemDecoration(new DividerItemDecoration(this,                              
//                DividerItemDecoration.VERTICAL_LIST));                                              
 
        //设置ListView模式                                                                                          
        recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));            
//设置GridView模式      
//recyclerView.setLayoutManager(new GridLayoutManager(this, 3));                              
 
        //初始化适配器                                                                                              
        wjjAdapter = new WjjAdapter(this);                                                            
        //设置监听事件                                                                                              
        wjjAdapter.setItemClickListener(new WjjAdapter.ItemClickListener() {                          
            @Override                                                                                
            public void onItemClick(int pos) {                                                        
//当被点击后隐藏控件                behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);    
//土司被点击的Item的位置                          
                Toast.makeText(MainActivity.this, "--->" + pos, Toast.LENGTH_LONG).show();            
            }                                                                                        
        });        
        //设置适配器                                                                                  
        recyclerView.setAdapter(wjjAdapter);  
        //设置动画                                                      
        recyclerView.setItemAnimator(new DefaultItemAnimator()); 
        //这句很重要,绑定滑动操作内容给 recyclerView                          
        behavior = BottomSheetBehavior.from(recyclerView);  
        //设置滑动回调                                          
        behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { 
        //状态变化时触发              
            @Override                                                                                
            public void onStateChanged(@NonNull ViewbottomSheet, int newState) {                    
                if (newState == BottomSheetBehavior.STATE_COLLAPSED || newState == BottomSheetBehavior
//blackView.setBackgroundColor(Color.TRANSPARENT);                                
                    fillView.setVisibility(View.GONE);                                                
                }                                                                                    
            }                                                                                        
 
            @Override                                                                                
            public void onSlide(@NonNull ViewbottomSheet, float slideOffset) {                      
                // 手势滑动时                                                          
                fillView.setVisibility(View.VISIBLE);                                                
                ViewCompat.setAlpha(fillView, slideOffset);                                          
            }                                                                                        
        });                                                                                          
        //显示RecycleView时才呈现的“树懒--闪电”                                                                                            
        fillView = findViewById(R.id.fillView);                                                      
        fillView.setBackgroundColor(getResources().getColor(R.color.white));                          
        fillView.setVisibility(View.GONE);                                                            
        fillView.setOnClickListener(new View.OnClickListener() {                                      
            @Override                                                                                
            public void onClick(View v) {                                                            
            //点击闪电时也隐藏掉ReclcyeView
                behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);                              
 
            }                                                                                        
        });                                                                                          
 
    }                                                                                                
    //填充数据                                                                                                
    public void initData() {                                                                          
        mDatas = new ArrayList();                                                                  
        for (int k = 0; k 6; k++) {                                                                
            mDatas.add("第" + k + "个");                                                                
        }                                                                                            
    }                                                                                                
 
    //下面就是 Adapter的内容了,就不做解释了                                                                                                  
    public static class WjjAdapter                                                                    
            extends RecyclerView.Adapter {                                    
 
        public ItemClickListenermItemClickListener;                                                  
 
        public void setItemClickListener(ItemClickListenerlistener) {                                
            mItemClickListener = listener;                                                            
        }                                                                                            
 
        public interface ItemClickListener {                                                          
            void onItemClick(int pos);                                                                
        }                                                                                            
 
        private ContextmContext;                                                                    
 
        public static class ViewHolderextends RecyclerView.ViewHolder {                              
 
            public final TextViewmTextView;                                                          
 
            public ViewHolder(Viewview) {                                                            
 
                super(view);                                                                          
                mTextView = (TextView) view.findViewById(R.id.tv);                                    
 
            }                                                                                        
 
        }                                                                                            
 
        public WjjAdapter(Contextcontext) {                                                          
 
            super();                                                                                  
            mContext = context;                                                                      
 
        }                                                                                            
 
        @Override                                                                                    
        public ViewHolderonCreateViewHolder(ViewGroupparent, int viewType) {                        
 
            ViewHolderholder = new ViewHolder(LayoutInflater.from(                                  
                    parent.getContext()).inflate(R.layout.list_item, parent,                          
                    false));                                                                          
            return holder;                                                                            
 
        }                                                                                            
 
        @Override                                                                                    
        public void onBindViewHolder(final ViewHolderholder, final int position) {                  
 
            holder.mTextView.setOnClickListener(new View.OnClickListener() {                          
                @Override                                                                            
                public void onClick(View v) {                                                        
 
                    mItemClickListener.onItemClick(position);                                        
                }                                                                                    
            });                                                                                      
 
            holder.mTextView.setText(mDatas.get(position));                                          
        }                                                                                            
 
        @Override                                                                                    
        public int getItemCount() {                                                                  
            return mDatas.size();                                                                    
        }                                                                                            
    }                                                                                                
 
}
整体使用起来不复杂,而且拓展性好。只是对版本有一定的要求,至少21+的才可以作为.from()的寄存对象






相关源码推荐:

我来说两句
所有评论(13)
天若枫行 2016-5-25 09:53:14
我只是路过打酱油的。
回复
陈新海a 2016-5-25 10:12:09
淡定,淡定,淡定……
回复
嘘丶~低调 2016-5-25 10:38:12
精华内容,楼主V5!
回复
嘘丶~低调 2016-5-25 10:38:32
楼主用心了,内容非常精彩。
回复
嘘丶~低调 2016-5-25 10:38:48
淡定,淡定,淡定……
回复
pchenghao 2016-5-25 15:44:58
学习学习!
回复
zhugongzhao 2016-5-31 15:46:49
楼主威武啊,安卓巴士有你更给力!
回复
12下一页
提取码:  下载次数:10 状态:已购或VIP 售价:10(原价:10)金钱 下载权限:初级码农 
1360 0 10
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿
帖子代码编辑/版权问题
QQ:435399051,1294855032
如何获得代码达人称号?
如何成为签约作者?
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )