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;}
}}