1、抽屉功能,自己看很简单,代码拷贝自己跑一遍就知道了
2、注意点:
SlidingDrawer 这个值的xml中的属性中
-
SlidingDrawer控件的一些属性:android:allowSingleTap 指示是否可以通过handle打开或关闭android:animateOnClick 指示是否当使用者按下手柄打开/关闭时是否该有一个动画。
android:content 隐藏的内容
android:handle handle 点击内容
----xml--部分 图片自己造几个 -
<? xml version= "1.0" encoding = "utf-8"?>< RelativeLayout xmlns:android ="http://schemas.android.com/apk/res/android"android:layout_width= "fill_parent"android:layout_height= "fill_parent" ><TextView android:layout_height = "wrap_content"android:layout_width= "fill_parent"android:text ="123456789\n 12312312312\n12312312312\n1312312312132"android:gravity= "center_vertical|center_horizontal"/>
<SlidingDrawerandroid:id= "@+id/sliding"android:layout_width= "match_parent"android:layout_height ="match_parent"android:content= "@+id/allApps"android:handle= "@+id/imageViewIcon"android:orientation= "vertical" >
<GridViewandroid:id= "@+id/allApps"android:layout_width= "wrap_content"android:layout_height ="wrap_content"android:background= "@drawable/one"android:columnWidth= "60dp"android:gravity= "center"android:horizontalSpacing ="10dp"android:numColumns= "auto_fit"android:padding= "10dp"android:stretchMode= "columnWidth"android:verticalSpacing ="10dp" />
<ImageViewandroid:id= "@+id/imageViewIcon"android:layout_width= "wrap_content"android:layout_height ="wrap_content"android:src= "@drawable/two" /></SlidingDrawer >
</ RelativeLayout>
-----java代码
package com.translate;
import java.util.List;
import android.app.Activity;import android.content.Intent;import android.content.pm.ResolveInfo;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.SlidingDrawer;
public class MainActivity extends Activity {private GridView gv;private SlidingDrawer sd;private ImageView iv;private List<ResolveInfo> apps;
/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout. activity_main);loadApps();gv = (GridView) findViewById(R.id. allApps);sd = (SlidingDrawer) findViewById(R.id. sliding);iv = (ImageView) findViewById(R.id. imageViewIcon);gv.setAdapter( new GridAdapter());sd.setOnDrawerOpenListener( new SlidingDrawer.OnDrawerOpenListener()// 开抽屉{@Overridepublic void onDrawerOpened() {iv.setImageResource(R.drawable. down); // 响应开抽屉事件// ,把图片设为向下的}});sd.setOnDrawerCloseListener( new SlidingDrawer.OnDrawerCloseListener() {@Overridepublic void onDrawerClosed() {iv.setImageResource(R.drawable. up); // 响应关抽屉事件}});}
private void loadApps() {Intent intent = new Intent(Intent. ACTION_MAIN, null);intent.addCategory(Intent. CATEGORY_LAUNCHER );
apps = getPackageManager().queryIntentActivities(intent, 0);}
public class GridAdapter extends BaseAdapter {public GridAdapter() {
}
public int getCount() {// TODO Auto-generated method stubreturn apps.size();}
public Object getItem( int position) {// TODO Auto-generated method stubreturn apps.get(position);}
public long getItemId( int position) {// TODO Auto-generated method stubreturn position;}
public View getView( int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubImageView imageView = null;if (convertView == null) {imageView = new ImageView(MainActivity.this );imageView.setScaleType(ImageView.ScaleType. FIT_CENTER);imageView.setLayoutParams( new GridView.LayoutParams(50, 50));} else {imageView = (ImageView) convertView;}
ResolveInfo ri = apps.get(position);imageView.setImageDrawable(ri. activityInfo.loadIcon(getPackageManager()));
return imageView;}
}}