温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

左边滑动工具栏

发布时间:2020-07-05 13:36:34 来源:网络 阅读:287 作者:671076656 栏目:移动开发

很多APP中都会用到例如工具栏这样的东东

在此,做一个demo演示一下关于左右滑动出现工具栏

首先说明一下:

这个本是一个android的开源项目,LZ仅对部分代码做了

一些更改,以符合自己产品的使用要求。

给出网址

https://github.com/dmitry-zaitsev/AndroidSideMenu

贴出部分修改的代码

想要完整的demo后面给出下载


package com.agimind.sidemenuexample;


import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;


import com.agimind.widget.SlideHolder;


import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;

import android.app.Activity;

import android.content.Context;

import android.graphics.Color;


public class MainActivity extends Activity implements OnItemClickListener{


private SlideHolder mSlideHolder;


private MyAdapter adapter;

private List<Map<String, Object>> data = null;

private List<Map<String, Object>> list;

private ListView listView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


listView = (ListView) findViewById(R.id.listView1);// 取得控件

listView.setOnItemClickListener(this);


data = getData();// 获取数据

adapter = new MyAdapter(this);

listView.setAdapter(adapter);


mSlideHolder = (SlideHolder) findViewById(R.id.slideHolder);

View toggleView = findViewById(R.id.textView);

toggleView.setOnClickListener(new View.OnClickListener() {


@Override

public void onClick(View v) {

mSlideHolder.toggle();

}

});


}


private List<Map<String, Object>> getData(){


list = new ArrayList<Map<String, Object>>();


Map<String, Object> map;

for(int i=0; i<20; i++){

map = new HashMap<String, Object>();


map.put("title", "title" + i);

map.put("img", R.drawable.icon);


list.add(map);

}


return list;

}


// ViewHolder静态类

static class ViewHolder {

public ImageView img;

public TextView title;

}


public class MyAdapter extends BaseAdapter {


private LayoutInflater mInflater = null;


private MyAdapter(Context context) {

// 根据context上下文加载布局

this.mInflater = LayoutInflater.from(context);

}


@Override

public int getCount() {

// 在此适配器中所代表的数据集中的条目数

return data.size();

}


@Override

public Object getItem(int position) {

// 获取数据集中与指定索引对应的数据项

return position;

}


@Override

public long getItemId(int position) {

// 获取在列表中与指定索引对应的行id

return position;

}


// 获取一个在数据集中指定索引的视图来显示数据

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

// 如果缓存convertView为空,则需要创建View

if (convertView == null) {

holder = new ViewHolder();

// 根据自定义的Item布局加载布局

convertView = mInflater.inflate(R.layout.item, null);

holder.title = (TextView) convertView.findViewById(R.id.textView1);

holder.img = (ImageView) convertView.findViewById(R.id.p_w_picpathView1);

// 将设置好的布局保存到缓存中,并将其设置在Tag里,以便后面方便取出Tag

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}


holder.title.setText((String) data.get(position).get("title"));

holder.title.setTextColor(Color.WHITE);//

holder.img.setBackgroundResource((Integer) data.get(position).get(

"img"));

return convertView;

}

}


@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

Toast.makeText(MainActivity.this, "" + arg2, Toast.LENGTH_SHORT).show();

}

}

左边滑动工具栏

附件:http://down.51cto.com/data/2364958
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI