DrawerLayout
生活随笔
收集整理的這篇文章主要介紹了
DrawerLayout
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 結(jié)果圖
- 布局文件
- 主布局
- ListView的子布局
- ListView適配器
- 適配器保存的數(shù)據(jù)類型
- 自定義的ListView適配器
- 主程序
結(jié)果圖
布局文件
主布局
activity_main.xml
<android.support.v4.widget.DrawerLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/drawer_layout"android:layout_width="match_parent"android:layout_height="match_parent"><FrameLayoutandroid:id="@+id/content_frame"android:layout_width="match_parent"android:layout_height="match_parent"/><ListViewandroid:id="@+id/left_drawer"android:layout_width="200dp"android:layout_height="match_parent"android:layout_gravity="start"android:choiceMode="singleChoice"android:divider="@android:color/transparent"android:dividerHeight="20dp"android:background="#f2cc1c4b"/></android.support.v4.widget.DrawerLayout>ListView的子布局
drawer_list_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageView android:id="@+id/img"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content" /><TextView android:id="@+id/content"android:layout_width="wrap_content"android:layout_weight="1"android:layout_height="wrap_content"android:layout_gravity="center"/></LinearLayout>ListView適配器
適配器保存的數(shù)據(jù)類型
package com.app.bt;/*** ListView中的數(shù)據(jù)對象,imgId保存圖片的Id,cotent描述內(nèi)容*/ public class Content {public int imgId;public String content;Content(int imgId,String content){this.imgId = imgId;this.content = content;}public int getImgId() {return imgId;}public void setImgId(int imgId) {this.imgId = imgId;}public String getContent() {return content;}public void setContent(String content) {this.content = content;} }自定義的ListView適配器
package com.app.bt;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;import java.util.ArrayList; import java.util.List;/*** 自定義適配器*/ public class MyAdapter extends BaseAdapter {public Context context;public int resourceId;public List<Content> contentList;public MyAdapter(Context context, int resourceId,List<Content> mContentList){this.context = context;this.resourceId = resourceId;contentList = new ArrayList<>();contentList = mContentList;}@Overridepublic int getCount() {return contentList.size();}@Overridepublic Object getItem(int position) {return contentList.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {Content content = (Content) getItem(position);View view;ViewHolder viewHolder;if(convertView == null){view = LayoutInflater.from(context).inflate(resourceId,null);viewHolder = new ViewHolder();viewHolder.imageView = (ImageView) view.findViewById(R.id.img);viewHolder.textView = (TextView) view.findViewById(R.id.content);view.setTag(viewHolder);}else{view = convertView;viewHolder = (ViewHolder) view.getTag();}viewHolder.imageView.setImageResource(content.getImgId());viewHolder.textView.setText(content.getContent());return view;}class ViewHolder{ImageView imageView;TextView textView;}}主程序
MainActivity.java
package com.app.bt;import android.app.Activity; import android.os.Bundle; import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast;import java.util.ArrayList; import java.util.List;public class MainActivity extends Activity{private DrawerLayout mDrawerLayout;private ListView mDrawerList;private MyAdapter adapter;private List<Content> contentList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);mDrawerList = (ListView) findViewById(R.id.left_drawer);contentList = new ArrayList<>();contentList.add(new Content(R.drawable.amazon,"亞馬遜"));contentList.add(new Content(R.drawable.gome,"國美"));contentList.add(new Content(R.drawable.haolemai,"好樂買"));contentList.add(new Content(R.drawable.mogujie,"蘑菇街"));contentList.add(new Content(R.drawable.suning,"蘇寧"));contentList.add(new Content(R.drawable.tianmao,"天貓"));contentList.add(new Content(R.drawable.yihaodian,"一號店"));adapter = new MyAdapter(this,R.layout.drawer_list_item,contentList);mDrawerList.setAdapter(adapter);mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {Toast.makeText(MainActivity.this,contentList.get(position).getContent(),Toast.LENGTH_SHORT).show();}});//mDrawerLayout.setDrawerListener(mActionBarDrawerToggle);mDrawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {@Overridepublic void onDrawerSlide(View drawerView, float slideOffset) {}@Overridepublic void onDrawerOpened(View drawerView) {}@Overridepublic void onDrawerClosed(View drawerView) {}@Overridepublic void onDrawerStateChanged(int newState) {}});}}圖片下載地址:http://download.csdn.net/detail/wiseclown/9528367
有問題的歡迎留言。
總結(jié)
以上是生活随笔為你收集整理的DrawerLayout的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Volley
- 下一篇: Toolbar中Overflow Men