`

SlidingDrawer隐藏式抽屉

 
阅读更多

 

private String items[] = {"项目1" , "项目2" ,"项目3" ,"项目4" ,"项目5"};
	private int icons[] = {R.drawable.img1 , R.drawable.img2 , R.drawable.img3 , R.drawable.img4, R.drawable.img5};
	
	private SlidingDrawer slidingDrawer;
	private GridView gridView;
	private ImageView image;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sling_drawer);
		
		slidingDrawer = (SlidingDrawer)findViewById(R.id.slidingDrawer1); 
		gridView = (GridView)findViewById(R.id.gridView1); 
		image = (ImageView)findViewById(R.id.handle);
		
		NewSlidingDrawerDrawerAdapter adapter = new NewSlidingDrawerDrawerAdapter(this, items , icons);
		gridView.setAdapter(adapter);
		gridView.setNumColumns(3);
		
		slidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener(){

			public void onDrawerOpened() {
				image.setImageResource(R.drawable.close);
			}
			
		});
		
		slidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener(){

			public void onDrawerClosed() {
				image.setImageResource(R.drawable.open);
			}
			
		});
	}

	public class NewSlidingDrawerDrawerAdapter extends BaseAdapter {

		private Context context;
		private String[] items;
		private int[] icons;

		public NewSlidingDrawerDrawerAdapter(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 position) {
			return items[position];
		}

		public long getItemId(int position) {
			return position;
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			LayoutInflater factory = LayoutInflater.from(context);
			/* 使用grid.xml为每几个item的Layout */
			View v = (View) factory.inflate(R.layout.gridview_item, null);
			/* 取得View */
			ImageView iv = (ImageView) v.findViewById(R.id.ItemImage);
			TextView tv = (TextView) v.findViewById(R.id.ItemText);
			/* 设定显示的Image与文字 */
			iv.setImageResource(icons[position]);
			tv.setText(items[position]);
			return v;
		}

	}

 gridview_item.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:scrollbars="vertical">
	<ImageView
		android:layout_height="100dip"
		android:id="@+id/ItemImage"
		android:layout_width="80dip"
		android:src="@drawable/img1"
		android:layout_gravity="center_horizontal" />
	<TextView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_gravity="center"
		android:id="@+id/ItemText"
		android:text="名称" />
</LinearLayout>

sliding_drawer.xml

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical">
	<SlidingDrawer
		android:layout_width="fill_parent"
		android:id="@+id/slidingDrawer1"
		android:layout_height="fill_parent"
		android:handle="@+id/handle"
		android:content="@+id/content"
		android:orientation="horizontal">
		<LinearLayout
			android:id="@+id/linearLayout1"
			android:layout_width="fill_parent"
			android:layout_height="wrap_content">
			<ImageView
				android:layout_width="wrap_content"
				android:src="@drawable/open"
				android:layout_height="wrap_content"
				android:id="@+id/handle"></ImageView>
		</LinearLayout>
		<LinearLayout
			android:id="@+id/content"
			android:layout_width="fill_parent"
			android:layout_height="fill_parent">
			<GridView
				android:layout_width="wrap_content"
				android:id="@+id/gridView1"
				android:layout_height="fill_parent"></GridView>
		</LinearLayout>
	</SlidingDrawer>
</LinearLayout>
 


  • 大小: 12.5 KB
  • 大小: 66.2 KB
分享到:
评论

相关推荐

    SlidingDrawer抽屉式滑动效果

    在Android开发中,SlidingDrawer是一个非常常见的组件,它提供了抽屉式的滑动效果,常用于隐藏或显示一些辅助操作或菜单。这个组件允许用户通过拖动一个手柄来打开和关闭一个隐藏的视图,使得用户界面更加交互性和...

    Android隐藏式抽屉

    "Android隐藏式抽屉",也被称为滑动抽屉或Sliding Drawer,是一种常见的交互元素,通常用于隐藏并展示次要或者扩展性的内容。这种控件允许用户通过滑动手势从屏幕边缘拉出或收起内容,既节省了屏幕空间,又增加了...

    Android抽屉 SlidingDrawer

    安卓中1.5后加入了SlidingDrawer【隐藏式抽屉】,设计原理在你的UI布局有限的情况下,放不下太多的控件的时候,可以考虑用这个隐藏式抽屉。用SlidingDrawer注意两点,一个是android:handle(委托要展开的图片加载...

    Android抽屉效果上下抽屉

    8. **响应式设计**: 考虑到不同设备尺寸和屏幕方向,抽屉效果应具备响应式设计。例如,某些情况下,可能需要在横屏模式下禁用抽屉效果,或者调整抽屉的位置和大小。 9. **Android Design Support Library**: 抽屉...

    Android控件之SlidingDrawer(滑动式抽屉)详解与实例分享

    一、简介 SlidingDrawer隐藏屏外的内容,并允许用户通过handle以显示隐藏内容。它可以垂直或水平滑动,它有俩个View组成,其一 是可以拖动的handle,其二是隐藏内容的View.它里面的控件必须设置布局,在布局文件中...

    Android UI开发——SlidingDrawer 抽屉效果

    今天我们要讨论的是一个经典的Android UI组件——SlidingDrawer,它提供了一种抽屉式的交互效果,常用于隐藏和显示额外的信息或者功能区域。SlidingDrawer的使用使得界面更加简洁,同时也增加了用户的探索乐趣。 ##...

    Android之抽屉效果(自定义、GridView、SlidingDrawer结合)案例

    本文将深入探讨如何在Android中实现抽屉效果,结合自定义按钮、GridView以及SlidingDrawer组件。 首先,让我们讨论自定义按钮。在Android中,我们可以通过创建自定义的View类来实现特定的视觉效果或行为。对于这个...

    android抽屉项目源码实例SlidingDrawer

    总的来说,"android抽屉项目源码实例SlidingDrawer"是一个宝贵的教育资源,适合初学者和有一定经验的开发者,可以帮助他们理解Android抽屉机制,并从中获取灵感来创建自己的交互式界面。虽然SlidingDrawer已不再是...

    android slidingdrawer实例

    在Android开发中,SlidingDrawer 是一个非常常见的组件,它为用户提供了一种滑动打开和关闭的抽屉式界面效果。通常,这个组件用于隐藏一些不常用但必要的内容,如设置选项、帮助信息等,用户可以滑动抽屉来显示或...

    android控件SlidingDrawer的学习应用

    在Android开发中,SlidingDrawer控件是一种常用的交互元素,它允许用户通过滑动手势从屏幕边缘拉出或隐藏一个抽屉式视图。这个控件在早期版本的Android API中广泛使用,但在API Level 17之后逐渐被更灵活的滑动面板...

    android SlidingDrawer 左侧拉出

    在Android开发中,`SlidingDrawer`是一个非常实用的组件,它允许用户通过手势从屏幕边缘滑出一个隐藏的视图,类似于许多应用中的抽屉式导航菜单。在这个实例中,我们将关注如何实现一个从左侧拉出的`SlidingDrawer`...

    SlidingDrawer

    在Android开发中,`SlidingDrawer`是一个非常实用的组件,它允许用户通过从屏幕底部或顶部滑动来显示或隐藏一个抽屉式的视图。这个组件在早期的Android版本中广泛使用,提供了类似iOS中“滑动显示更多选项”的交互...

    Android 之抽屉效果(上下抽屉)

    在Android开发中,抽屉效果通常指的是模仿物理抽屉开合动作的一种界面交互设计,它为用户提供了一种隐藏和展示内容的...通过深入研究这个项目,开发者可以更好地理解和掌握如何在Android中创建定制的交互式抽屉效果。

    自动隐藏抽屉效果

    总的来说,"自动隐藏抽屉效果"是现代UI设计中的一个关键特性,它需要开发者对用户交互、响应式布局以及动画有深入理解。通过合理的实现,可以提升应用的用户体验,同时保持界面的整洁和易用性。在学习和实践这一效果...

    实现下拉式窗帘动画和上拉式抽屉Android动画

    下拉式窗帘动画和上拉式抽屉动画是常见的交互效果,广泛应用于应用启动页、菜单展开等场景。本篇将深入探讨如何实现这两种动画。 首先,我们需要了解Android中的两种主要动画类型:属性动画(Property Animation)...

    android 抽屉从左拉出 slidingdrawer

    首先,`SlidingDrawer`是Android早期API中提供的一种组件,它允许开发者创建一个可以从屏幕边缘滑出并隐藏的抽屉式界面。然而,自Android Design Support Library更新以来,`SlidingDrawer`已被弃用,现在推荐使用`...

    右侧弹出抽屉

    首先,我们要了解Android中的滑动抽屉主要由`SlidingDrawer`组件(已废弃)和`DrawerLayout`组件来实现。由于`SlidingDrawer`在Android API Level 21已被废弃,所以我们主要关注`DrawerLayout`,它是目前推荐的方式...

    Android SlidingDrawer 抽屉效果的实现

    在Android开发中,SlidingDrawer是一个非常实用的组件,它允许开发者在屏幕边缘隐藏内容,并通过一个可拖动的手柄(handle)来展示或隐藏这些内容。这个组件在早期的Android版本中广泛使用,但在Android Design ...

Global site tag (gtag.js) - Google Analytics