溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

左邊滑動(dòng)工具欄

發(fā)布時(shí)間:2020-07-05 13:36:34 來(lái)源:網(wǎng)絡(luò) 閱讀:290 作者:671076656 欄目:移動(dòng)開(kāi)發(fā)

很多APP中都會(huì)用到例如工具欄這樣的東東

在此,做一個(gè)demo演示一下關(guān)于左右滑動(dòng)出現(xiàn)工具欄

首先說(shuō)明一下:

這個(gè)本是一個(gè)android的開(kāi)源項(xiàng)目,LZ僅對(duì)部分代碼做了

一些更改,以符合自己產(chǎn)品的使用要求。

給出網(wǎng)址

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();// 獲取數(shù)據(jù)

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靜態(tài)類

static class ViewHolder {

public ImageView img;

public TextView title;

}


public class MyAdapter extends BaseAdapter {


private LayoutInflater mInflater = null;


private MyAdapter(Context context) {

// 根據(jù)context上下文加載布局

this.mInflater = LayoutInflater.from(context);

}


@Override

public int getCount() {

// 在此適配器中所代表的數(shù)據(jù)集中的條目數(shù)

return data.size();

}


@Override

public Object getItem(int position) {

// 獲取數(shù)據(jù)集中與指定索引對(duì)應(yīng)的數(shù)據(jù)項(xiàng)

return position;

}


@Override

public long getItemId(int position) {

// 獲取在列表中與指定索引對(duì)應(yīng)的行id

return position;

}


// 獲取一個(gè)在數(shù)據(jù)集中指定索引的視圖來(lái)顯示數(shù)據(jù)

@Override

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

ViewHolder holder = null;

// 如果緩存convertView為空,則需要?jiǎng)?chuàng)建View

if (convertView == null) {

holder = new ViewHolder();

// 根據(jù)自定義的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);

// 將設(shè)置好的布局保存到緩存中,并將其設(shè)置在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();

}

}

左邊滑動(dòng)工具欄

附件:http://down.51cto.com/data/2364958
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI