android material design

Material Design是Google推出的一个全新的设计语言,它的特点就是拟物扁平化。

Material Design包含了很多内容,我大致把它分为四部分:

主题和布局——ANDROID L——Material Design详解(主题和布局)

视图和阴影——ANDROID L——Material Design详解(视图和阴影)

UI控件——ANDROID L——Material Design详解(UI控件)

动画——ANDROID L——Material Design详解(动画篇)

RecyclerView

1.在布局文件中添加一个RecyclerView

    <!-- A RecyclerView with some commonly used attributes -->  
    <android.support.v7.widget.RecyclerView  
        android:id="@+id/my_recycler_view"  
        android:scrollbars="vertical"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent"/>  


2.初始化RecyclerView参数,设置layoutManager和adapter
    public class MyActivity extends Activity {  
        private RecyclerView mRecyclerView;  
        private RecyclerView.Adapter mAdapter;  
        private RecyclerView.LayoutManager mLayoutManager;  
      
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.my_activity);  
            mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);  
      
            // improve performance if you know that changes in content  
            // do not change the size of the RecyclerView  
            mRecyclerView.setHasFixedSize(true);  
      
            // use a linear layout manager  
            mLayoutManager = new LinearLayoutManager(this);  
            mRecyclerView.setLayoutManager(mLayoutManager);  
      
            // specify an adapter (see also next example)  
            mAdapter = new MyAdapter(myDataset);  
            mRecyclerView.setAdapter(mAdapter);  
        }  
        ...  
    }  

3.创建一个adapter
    public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {  
        private String[] mDataset;  
      
        // Provide a reference to the type of views that you are using  
        // (custom viewholder)  
        public static class ViewHolder extends RecyclerView.ViewHolder {  
            public TextView mTextView;  
            public ViewHolder(TextView v) {  
                super(v);  
                mTextView = v;  
            }  
        }  
      
        // Provide a suitable constructor (depends on the kind of dataset)  
        public MyAdapter(String[] myDataset) {  
            mDataset = myDataset;  
        }  
      
        // Create new views (invoked by the layout manager)  
        @Override  
        public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,  
                                                       int viewType) {  
            // create a new view  
            View v = LayoutInflater.from(parent.getContext())  
                                   .inflate(R.layout.my_text_view, parent, false);  
            // set the view's size, margins, paddings and layout parameters  
            ...  
            ViewHolder vh = new ViewHolder(v);  
            return vh;  
        }  
      
        // Replace the contents of a view (invoked by the layout manager)  
        @Override  
        public void onBindViewHolder(ViewHolder holder, int position) {  
            // - get element from your dataset at this position  
            // - replace the contents of the view with that element  
            holder.mTextView.setText(mDataset[position]);  
      
        }  
      
        // Return the size of your dataset (invoked by the layout manager)  
        @Override  
        public int getItemCount() {  
            return mDataset.length;  
        }  
    }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值