android抽屉效果

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"
         />

     < SlidingDrawer
         android:id =   "@+id/sliding"
         android:layout_width =   "match_parent"
         android:layout_height  = "match_parent"
         android:content =   "@+id/allApps"
         android:handle =   "@+id/imageViewIcon"
         android:orientation =   "vertical"   >

         < GridView
             android: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"   />

         < ImageView
             android: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. */
       @Override
       public   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() // 开抽屉
           {
                   @Override
                   public   void  onDrawerOpened() {
                        iv .setImageResource(R.drawable.   down );   // 响应开抽屉事件
                                                                                         // ,把图片设为向下的
                }
           });
              sd .setOnDrawerCloseListener(   new  SlidingDrawer.OnDrawerCloseListener() {
                   @Override
                   public   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 stub
                   return   apps .size();
           }

              public  Object getItem(   int  position) {
                   //  TODO  Auto-generated method stub
                   return   apps .get(position);
           }

              public   long  getItemId(   int  position) {
                   //  TODO  Auto-generated method stub
                   return  position;
           }

              public  View getView(  int  position, View convertView, ViewGroup parent) {
                   //  TODO  Auto-generated method stub
                ImageView 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;
           }

     }
}


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值