Android抽屉实现
16lz
2021-01-23
Android抽屉,对用户的体验是非常好的。第一次见到Android抽屉是在51job的Android客户端,最近我在微信上也看到这样一个效果,今天花了点时间写了一个Android抽屉测试与大家分享。
先贴效果图:
代码:
package com.jefry.activity;import com.jefry.service.MyAdapter;import android.app.Activity;import android.os.Bundle;import android.widget.GridView;import android.widget.ImageView;import android.widget.SlidingDrawer;public class SlidingdrawerActivity extends Activity { private GridView gridview; private SlidingDrawer slidingdrawer; private ImageView imageview; private int[] icons={R.drawable.main1,R.drawable.main2, R.drawable.main3,R.drawable.main4, R.drawable.main5,R.drawable.main6, R.drawable.main7,R.drawable.main8,R.drawable.main9}; private String[] items={"jefry1","jefry2","jefry3","jefry4","jefry5","jefry6","jefry7","jefry8","jefry9"}; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gridview = (GridView)findViewById(R.id.gridview); slidingdrawer = (SlidingDrawer)findViewById(R.id.sd); imageview=(ImageView)findViewById(R.id.imageview); MyAdapter adapter=new MyAdapter(this,items,icons); gridview.setAdapter(adapter); slidingdrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener() { public void onDrawerOpened() { imageview.setImageResource(R.drawable.draw_down); } }); slidingdrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() { public void onDrawerClosed() { imageview.setImageResource(R.drawable.draw_up); } }); }}
package com.jefry.service;import com.jefry.activity.R;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class MyAdapter extends BaseAdapter { private Context context; private String[] items; private int[] icons; public MyAdapter(Context context,String[] items,int[] icons) { this.context=context; this.items=items; this.icons=icons; } public int getCount() { return items.length; } public Object getItem(int arg0) { return items[arg0]; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater factory = LayoutInflater.from(context); View v = (View) factory.inflate(R.layout.item, null);//绑定自定义的layout ImageView iv = (ImageView) v.findViewById(R.id.icon); TextView tv = (TextView) v.findViewById(R.id.text); iv.setImageResource(icons[position]); tv.setText(items[position]); return v; } }
源码下载:http://download.csdn.net/detail/jefry_xdz/4525477
更多相关文章
- Android之抽屉效果(自定义、GridView、SlidingDrawer结合)案例
- WPF核心的技术--数据绑定
- asp.net core mvc中如何把二级域名绑定到特定的控制器上
- 什么是MVVM架构和数据绑定?
- 使用Action的模型绑定实例教程
- ASP.NET MVC中传参并绑定数据的实例教程
- MVC5下拉框单选绑定的具体代码实现
- 浅谈C#中的早期绑定和后期绑定
- xml数据岛绑定时的超链接处理的示例代码分享