溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

左邊滑動工具欄

發布時間:2020-07-05 13:36:34 來源:網絡 閱讀:312 作者: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

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女