編輯:關於Android編程
RecyclerView是android-support-v7-21版本中新增的一個Widget,官方介紹RecyclerView 是 ListView 的升級版本,更加先進和靈活。
開發環境
- IDE: ADT
- SDK: Android L
首先在Android SDK Manager上下載Android Support Repository,
它會在sdk/extras/android目錄下生成m2repositZ喎?/kf/ware/vc/" target="_blank" class="keylink">vcnnEv8K8o6w8L3A+CjxwPjxpbWcgc3JjPQ=="/uploadfile/Collfiles/20140704/2014070409005483.jpg" alt="\">
進入RecycleView目錄。用解壓文件打開recyclerview-v7-21.0.0-rc1.aar文件,將claaes.jar改名後放入lib文件夾。
如果想在ADT中關聯源代碼,可以在libs下新建文件
recycleview.jar.properties
編輯
src=D:\\adt-bundle-windows-x86_64-20131030\\sdk\\extras\\android\\m2repository\\com\\android\\support\\recyclerview-v7\\21.0.0-rc1\\recyclerview-v7-21.0.0-rc1-sources.jar
右鍵項目close project,然後open project這樣就可以關聯源代碼了。
創建項目如圖
布局文件中使用 RecyclerView
package com.leigo.recyclerview; import android.app.Activity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; /** * @ClassName RecyclerViewActivity * @Description TODO * @author GaoLei * @date 2014-7-2 */ public class RecyclerViewActivity extends Activity { private static final String TAG = RecyclerViewActivity.class .getSimpleName(); private RecyclerView mRecyclerView; /** * @Method: onCreate * @Description: TODO * @param savedInstanceState * @see android.app.Activity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recycle_view); mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView); LinearLayoutManager layoutManager = new LinearLayoutManager(this); // layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); // 設置布局管理器 mRecyclerView.setLayoutManager(layoutManager); String[] dataset = new String[100]; for (int i = 0; i < dataset.length; i++) { dataset[i] = "item" + i; } RecyclerAdapter mAdapter = new RecyclerAdapter(dataset); mRecyclerView.setAdapter(mAdapter); } }
Adapter
package com.leigo.recyclerview; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.Adapter; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; /** * @ClassName RecyclerAdapter * @Description TODO * @author GaoLei * @date 2014-7-2 */ public class RecyclerAdapter extends Adapter{ private String[] mDataset; /** * @Description: TODO */ public RecyclerAdapter(String[] dataset) { mDataset = dataset; } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; /** * @Description: TODO * @param itemView */ public ViewHolder(View itemView) { super(itemView); mTextView = (TextView) itemView; } } /** * @Method: getItemCount * @Description: TODO * @return * @see android.support.v7.widget.RecyclerView.Adapter#getItemCount() */ @Override public int getItemCount() { return mDataset.length; } /** * @Method: onBindViewHolder * @Description: TODO * @param holder * @param position * @see android.support.v7.widget.RecyclerView.Adapter#onBindViewHolder(android.support.v7.widget.RecyclerView.ViewHolder, * int) */ @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.mTextView.setText(mDataset[position]); } /** * @Method: onCreateViewHolder * @Description: TODO * @param parent * @param viewType * @return * @see android.support.v7.widget.RecyclerView.Adapter#onCreateViewHolder(android.view.ViewGroup, * int) */ @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(parent.getContext(), android.R.layout.simple_list_item_1, null); ViewHolder holder = new ViewHolder(view); return holder; } }
截圖
前提:考慮到自己每次在敲代碼或者打游戲的時候總是會不注意時間,一不留神就對著電腦連續3個小時以上,對眼睛的傷害還是挺大的,重度近視了可是會遺傳給將來的孩子的呀,可能老婆都
Activity是什麼?我們都知道android中有四大組件(Activity 活動,Service 服務,Content Provider 內容提供者,Broadcas
效果: 代碼:https://github.com/ldb-github/Layout_Tab1、布局:使用LinearLayout布置標簽;再使用FrameL
Activity---android的系統下存放控件的容器。通俗的講相當於MFC中的CFrame。搭配完成android4.4.2開發環境後,發現比2.1的開發效率高很多