`
毛驴追飞机
  • 浏览: 16795 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

安卓左侧抽屉+带图标自定义菜单内容

阅读更多

 

达到下面效果:
[img]


 
[/img]

使用android.support.v4.widget.DrawerLayout默认效果如下:


 

略显单调,如果能通过图标与文字的方式,就好看很多,通过创建自定义适配器,达到图标和文字在左侧显示菜单效果。
创建布局文件

<?xml version="1.0" encoding="utf-8"?> 
<!--左侧导航每一行布局--> 
<LinearLayout 
 xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <ImageView 
  android:id="@+id/MainActivityImage" 
  android:layout_width="50dp" 
  android:layout_height="50dp" 
  android:layout_gravity="center_horizontal" 
  /> 
 <TextView 
  android:id="@+id/MainActivityText" 
  android:layout_width="100dp" 
  android:layout_height="fill_parent" 
  android:layout_gravity="center_horizontal" 
   android:gravity="center"
  /> 
</LinearLayout> 

 自定义适配器:

package com.hx.adapter;

import com.hx.activity.R;

import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;


/**
 * 
 * @author hx
 * 左侧导航适配器
 *
 */
public class MenuAdapter extends BaseAdapter{
	private Context context;  
	   
	 public MenuAdapter(Context context) {  
	  this.context=context;  
	 }  
	 public void ChangeImg(int index,Integer dreawble)
	 {
		 images[index] = dreawble;
	 }
	 private Integer[] images = {  
			 	R.drawable.m_eidmng,
			 	R.drawable.m_exit
			      };
	 
			   
	 private String[] texts = {  
			   //左侧导航文字
			   "告警管理",  
			   "提交告警"
			   }; 
	 
	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return images.length;  
	}

	@Override  
	 public Object getItem(int position) {  
	  return position;  
	 }  
	 
	 //get the current selector's id number  
	 @Override  
	 public long getItemId(int position) {  
	  return position;  
	 }  

	 @Override  
	 public View getView(int position, View view, ViewGroup viewgroup) {  
		  ImgTextWrapper wrapper;  
		  if(view==null) {  
		   wrapper = new ImgTextWrapper();  
		   LayoutInflater inflater = LayoutInflater.from(context);  
		   view = inflater.inflate(R.layout.hx_m_item, null);  
		   view.setTag(wrapper);  
		   view.setPadding(15, 15, 15, 15);  //每格的间距  
		  } else {  
		   wrapper = (ImgTextWrapper)view.getTag();  
		  }  
	    
		  wrapper.imageView = (ImageView)view.findViewById(R.id.MainActivityImage);  
		  wrapper.imageView.setBackgroundResource(images[position]);  
		  wrapper.textView = (TextView)view.findViewById(R.id.MainActivityText);  
		  wrapper.textView.setTextColor(Color.WHITE);
		  wrapper.textView.setText(texts[position]);  
		    
		  return view;  
	 }  
}
 

在主activity里面添加适配器:

 //设置打开抽屉列表,并添加监听
        mMenuAdapter = new MenuAdapter(this);
        
        mDrawerList.setAdapter(mMenuAdapter);

 

 

  • 大小: 98 KB
  • 大小: 255.2 KB
分享到:
评论

相关推荐

    android 左边抽屉式菜单

    在Android应用开发中,"左边抽屉式菜单"(通常称为侧滑菜单或抽屉式导航)是一种常见的设计模式,它允许用户通过从屏幕边缘向内滑动来展示或隐藏菜单选项。这种设计使得在有限的屏幕空间内,能够方便地访问多个功能...

    类似QQ的SlidingMenu抽屉 + Tab滑动ViewPager

    开发者可以通过自定义菜单内容和样式,使应用具有更个性化的外观。 2. **ViewPager**: ViewPager是Android SDK中的一个强大视图容器,它允许用户通过水平滑动来浏览多个页面。在本例中,ViewPager被用作Tab的实现...

    android类似facebooke抽屉式导航菜单源码

    8. **Customization**:虽然`NavigationView`提供了预定义的样式,但为了与应用的整体设计保持一致,开发者往往需要自定义菜单项的字体、颜色、图标等。 9. **动画效果**:为增加用户体验,可以添加过渡动画,如...

    android抽屉菜单

    左侧推入式的抽屉菜单是从屏幕左侧滑入,它是Android应用中最常见的抽屉菜单形式,遵循Material Design指南。当菜单打开时,它不会完全覆盖主内容,而是从屏幕边缘滑出,给人一种自然、平滑的过渡效果。这种菜单常...

    安卓SlidingMenu各种菜单侧滑菜单相关-自定义左侧抽屉菜单.rar

    5. **自定义菜单**:`SlidingMenu`允许你自定义菜单的内容和样式。你可以创建一个单独的布局文件来定义菜单项,然后将其设置给`SlidingMenu`。菜单项可以是简单的文本,也可以是包含图标和文本的列表项。 6. **交互...

    左侧抽屉、左侧菜单.zip

    在移动应用和网页设计中,"左侧抽屉"或"左侧菜单"是一种常见的导航模式,尤其在响应式设计中广泛采用。这种设计模式通常用于在有限的屏幕空间中提供一个可隐藏但易于访问的菜单选项,以提升用户体验。在本讨论中,...

    android 左侧菜单 右侧内容

    在Android开发中,左侧菜单(通常称为滑动抽屉或Navigation Drawer)和右侧内容是常见的应用界面设计,这种布局方式可以有效地展示多个功能模块并提供良好的用户体验。Android的左侧菜单通常用于放置导航选项,而...

    从gitHub上整理出Android抽屉效果,包括左滑,右滑,上滑,下滑,想要实现的任何菜单效果都有

    在Android应用开发中,抽屉效果(Drawer Effect)是一种常见的设计模式,用于实现类似Google Now、Facebook等应用的侧滑菜单。这个从gitHub上整理的Android抽屉效果项目,涵盖了左滑、右滑、上滑和下滑等多种交互...

    抽屉菜单的实现2

    抽屉菜单,也被称为侧滑菜单,是Android应用设计中常见的一种导航模式,尤其在智能手机和平板设备上广泛使用。这种设计模式允许用户通过从屏幕边缘向内滑动来显示或隐藏一个包含导航选项的菜单,类似于从抽屉中抽出...

    抽屉菜单的实现

    2. **`NavigationView`**: `NavigationView`是Android Support Library的一部分,它提供了一个预定义的视图,可以轻松地填充抽屉菜单的内容,如标题、图标和菜单项。它可以与`DrawerLayout`结合使用,简化菜单的创建...

    Android左抽屉效果

    在Android应用开发中,"左抽屉效果"是一种常见的界面设计模式,通常用于实现导航菜单。这个效果使得用户可以通过从屏幕左侧滑动来显示或隐藏一个包含导航选项的面板,模仿了现实生活中抽屉的动作,因此得名"抽屉式...

    Android仿网易自定义侧滑菜单

    为了自定义菜单样式和行为,开发者可能使用了自定义布局和动画。自定义布局可以让菜单根据需求展示不同的UI元素,例如图标、文本、分割线等。而自定义动画则可以控制菜单展开和收起时的过渡效果,提高用户体验。例如...

    android左侧或右侧可选滑动菜单

    以上就是实现Android左侧或右侧滑动菜单所需的关键知识点。通过理解并应用这些概念,开发者可以创建出符合现代移动应用设计标准的交互式菜单。在实际项目中,还可以根据需求进行个性化定制,比如添加过渡动画、...

    Android左侧抽屉

    以下是一些关键步骤来创建一个基本的Android左侧抽屉: 1. **在布局文件中添加`DrawerLayout`**: 在你的主活动布局XML文件中,添加`DrawerLayout`作为根元素。例如: ```xml &lt;androidx.drawerlayout.widget....

    C#-WPF实现抽屉效果SplitView-炫酷漂亮的侧边菜单效果+MD主题重绘原生控件的美观效果-源码Demo下载

    4. **Pane** 和 **Content**:这两个区域分别定义了抽屉菜单和主要内容的布局。 接下来,我们要讨论的是MD(Material Design)主题。MD是一种由Google推出的界面设计语言,强调简洁、清晰和响应式的设计原则,广泛...

    Android 多抽屉效果

    抽屉内容通常是一个`NavigationView`,它包含了一个列表视图,可以自定义菜单项。`NavigationView`有自己的XML布局,可以通过`app:menu`属性指定菜单XML资源文件。你也可以使用其他布局,如`LinearLayout`或`...

    抽屉菜单效果

    抽屉菜单(Drawer Menu)是Android应用中常见的一种设计模式,它通常被用来实现侧滑导航功能,使得用户可以从屏幕边缘滑出一个菜单,就像拉开抽屉一样。这种设计不仅节省了屏幕空间,还能提供良好的用户体验,尤其...

    android各种抽屉样式

    在Android应用开发中,抽屉(Drawer)样式通常指的是侧滑菜单,它是用户界面中一个常见且重要的设计元素。抽屉通常隐藏在屏幕边缘,通过手势或特定按钮触发,显示额外的功能选项或导航链接,为用户提供更丰富的交互...

    Android下拉抽屉效果

    在Android应用开发中,下拉抽屉(Pull Down Drawer)是一种常见的交互设计,它通常用于显示侧滑菜单或隐藏的功能选项。在Android4.4(KitKat)版本中,谷歌引入了新的设计指南和组件,使得实现这样的效果更加便捷。...

Global site tag (gtag.js) - Google Analytics