日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DrawerLayout

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DrawerLayout 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 結果圖
  • 布局文件
    • 主布局
    • ListView的子布局
  • ListView適配器
    • 適配器保存的數據類型
    • 自定義的ListView適配器
  • 主程序

結果圖

布局文件

主布局

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適配器

適配器保存的數據類型

package com.app.bt;/*** ListView中的數據對象,imgId保存圖片的Id,cotent描述內容*/ 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

有問題的歡迎留言。

總結

以上是生活随笔為你收集整理的DrawerLayout的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。