RecyclerView,SwipeRefreshLayout,CardView最新控件的使用

来源:互联网 发布:2016网络歌曲合集下载 编辑:程序博客网 时间:2024/04/30 05:54
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">    <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"        android:id="@+id/swipe_container"        android:layout_width="match_parent"        android:layout_height="match_parent">        <android.support.v7.widget.RecyclerView            android:id="@+id/recyclerView"            android:layout_width="match_parent"            android:layout_height="match_parent" />    </android.support.v4.widget.SwipeRefreshLayout></RelativeLayout>

上面的是主界面的布局!

这个是RecyclerView的布局!

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:card_view="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_margin="5dp"    android:orientation="horizontal"    card_view:cardCornerRadius="5dp"    card_view:cardUseCompatPadding="true">    <RelativeLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:background="@android:color/white">        <TextView            android:layout_centerInParent="true"            android:id="@+id/tv"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />    </RelativeLayout>    </android.support.v7.widget.CardView>
package com.example.administrator.myapplication;import android.app.Activity;import android.os.Bundle;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7.widget.DefaultItemAnimator;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.support.v7.widget.StaggeredGridLayoutManager;import com.lidroid.xutils.ViewUtils;import com.lidroid.xutils.view.annotation.ViewInject;public class MainActivity extends Activity {    @ViewInject(R.id.recyclerView)    public RecyclerView recyclerView;//替代Listview    @ViewInject(R.id.swipe_container)    public SwipeRefreshLayout swipe_container;           LinearLayoutManager mLinearLayoutManager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ViewUtils.inject(this);        initview();    }    private void initview() {        RecyclerView.LayoutManager layout=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);        //这里可以指定他的方式//        mLinearLayoutManager = new StaggeredGridLayoutManager( 2,StaggeredGridLayoutManager.VERTICAL);//创建一个线性布局管理器        recyclerView.setLayoutManager(layout);//设置线性的管理器!        String[] dataset = new String[100];        for (int i = 0; i < 100; i++) {            dataset[i] = "item" + i;        }        Myadputer mMyadputer=new Myadputer(dataset);        recyclerView.setAdapter(mMyadputer);        recyclerView.setItemAnimator(new DefaultItemAnimator());                //设置刷新时的不同的颜色!        swipe_container.setColorScheme(android.R.color.holo_blue_bright,                android.R.color.holo_green_light,                android.R.color.holo_orange_light,                android.R.color.holo_red_light);        //google官方的下拉刷新!        swipe_container.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {            @Override            public void onRefresh() {                swipe_container.setRefreshing(false);//刷新完毕!            }        });            }}
这个是适配器
<pre name="code" class="java">package com.example.administrator.myapplication;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;/** * Created by Administrator on 2015/4/13 0013. */public class Myadputer extends RecyclerView.Adapter<Myadputer.ItemViewHolder> {    public String[] datas;    public Myadputer(String[] datas) {        this.datas = datas;    }    //记住在使用RecyclerView的时候要主页这里的返回类型!ItemViewHolder    @Override    public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View view = View.inflate(parent.getContext(), R.layout.item, null);        return new ItemViewHolder(view);//创建一个viewholder,然后将view传递进来!    }    @Override    public void onBindViewHolder(ItemViewHolder viewHolder, int position) {        viewHolder.mTexview.setText(datas[position]);    }    @Override    public int getItemCount() {        return datas.length;    }    public static class ItemViewHolder extends RecyclerView.ViewHolder {        public TextView mTexview;        public ItemViewHolder(View itemView) {            super(itemView);            TextView viewById = (TextView) itemView.findViewById(R.id.tv);            mTexview = viewById;        }    }}




0 0