Github上的Android项目介绍之ListViewAnimation(针对listView i

demo源码,需要可以下载 1.这是一个github开源项目,先去github上面下载,github下载地址。 2.将SwipeMenuListView项目,导入,然后新建项目如果要引用,要设置为相应的lid应用,如图勾选。

3.activity_main.xml 的布局文件代码:

<android:id=”@+id/listView”android:layout_width=”match_parent”android:layout_height=”match_parent” />

主要是加入这个控件。 4.item_list_app.xml布局文件,代码如下:

=========”18sp” /> </RelativeLayout>

5.加入ic_delete.png图片。 6.定义扩展自BaseAdapter的adapter,用来提供列表数据。 同时重写swipeMenu的回调方法,主要是实现SwipeMenuCreator 这个类的create()方法,,和相应的OnMenuItemClickListener接口。至于数据来源则是List类型的,是由 getPackageManager().getInstalledApplications(0); 方法获得。 如果要重用这个代码,需要实现SwipeMenuCreator 类和相应的OnMenuItemClickListener接口。 主要代码如下:

{private List<ApplicationInfo> mAppList;private AppAdapter mAdapter;private SwipeMenuListView mListView;(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mAppList = getPackageManager().getInstalledApplications(0);mListView = (SwipeMenuListView) findViewById(R.id.listView);mAdapter = new AppAdapter();mListView.setAdapter(mAdapter);SwipeMenuCreator creator = new SwipeMenuCreator() {(SwipeMenu menu) {// create “open” item SwipeMenuItem openItem = new SwipeMenuItem(getApplicationContext());// set item background openItem.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9,0xCE)));// set item width openItem.setWidth(dp2px(90));// set item title openItem.setTitle(“Open”);// set item title fontsize openItem.setTitleSize(18);// set item title font color openItem.setTitleColor(Color.WHITE);// add to menu menu.addMenuItem(openItem);// create “delete” item SwipeMenuItem deleteItem = new SwipeMenuItem(getApplicationContext());// set item background deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9,0x3F, 0x25)));// set item width deleteItem.setWidth(dp2px(90));// set a icon deleteItem.setIcon(R.drawable.ic_delete);// add to menu menu.addMenuItem(deleteItem);}};// set creator mListView.setMenuCreator(creator);mListView.setOnMenuItemClickListener(new OnMenuItemClickListener() {(int position, SwipeMenu menu, int index) {switch (index) {case 0:// open Toast.makeText(getApplicationContext(), “Open”, Toast.LENGTH_SHORT).show();break;case 1:// delete Toast.makeText(getApplicationContext(), “Delete”, Toast.LENGTH_SHORT).show(); ;};}});}class AppAdapter extends BaseAdapter {() {return mAppList.size();}@Overridepublic ApplicationInfo getItem(int position) {return mAppList.get(position);}(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = View.inflate(getApplicationContext(),R.layout.item_list_app, null);new ViewHolder(convertView);}ViewHolder holder = (ViewHolder) convertView.getTag();ApplicationInfo item = getItem(position);holder.iv_icon.setImageDrawable(item.loadIcon(getPackageManager()));holder.tv_name.setText(item.loadLabel(getPackageManager()));return convertView;}class ViewHolder {ImageView iv_icon;TextView tv_name;public ViewHolder(View view) {iv_icon = (ImageView) view.findViewById(R.id.iv_icon);tv_name = (TextView) view.findViewById(R.id.tv_name);view.setTag(this);}}}(int dp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,getResources().getDisplayMetrics());} }

我们大都接受的是正面的教育,

Github上的Android项目介绍之ListViewAnimation(针对listView i

相关文章:

你感兴趣的文章:

标签云: