• Android实用代码块


    通过反射实现Menu显示图标

     1 @Override
     2     public boolean onCreateOptionsMenu(Menu menu) {
     3         setIconEnable(menu, true);
     4         getMenuInflater().inflate(R.menu.menu_main, menu);
     5         return true;
     6     }
     7 
     8     /**
     9      * 通过反射实现Menu显示图标
    10      *
    11      * @param menu
    12      * @param enable
    13      */
    14     private void setIconEnable(Menu menu, boolean enable) {
    15         try {
    16             Class<?> clazz = Class.forName("com.android.internal.view.menu.MenuBuilder");
    17             Method m = clazz.getDeclaredMethod("setOptionalIconsVisible", boolean.class);
    18             m.setAccessible(true);
    19             //下面传入参数
    20             m.invoke(menu, enable);
    21 
    22         } catch (Exception e) {
    23             e.printStackTrace();
    24         }
    25     }
    
    

    截取屏幕,获得Bitmap

     1      /**
     2      * 截取整个屏幕
     3      *
     4      * @return
     5      */
     6     private Bitmap generateWishCard() {
     7         View view = getWindow().getDecorView();
     8         view.setDrawingCacheEnabled(true);
     9         view.buildDrawingCache();
    10         return view.getDrawingCache();
    11     }

    从系统图库选择图片

    //选择图片
    Intent intent = new Intent(Intent.ACTION_PICK, null);
                    intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
                    startActivityForResult(intent, 1);
    
    //取得图片
    @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (requestCode == 1 && resultCode == RESULT_OK) {
                if (data != null) {
                    mImagePhoto.setImageURI(data.getData());
                }
            }
        }

    无限轮播,在Adapter中处理

    // 为Count设置一个较大的值
    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }
    // 在getView中,在根据position取值的时候,根据数据源的大小进行取余操作
    int newpos = position;
    if (position >= listDatas.size()) {
        newpos = position % listDatas.size();
    }
  • 相关阅读:
    hd CPU
    OS + Linux Interview
    db db2 v8.2
    project ERP_SAP R3 / SAP ECC / mySap
    命名空间和模块化编程3 C++快速入门41
    链接和作用域 C++快速入门42
    对象观察器(Object Inspector)
    Delphi7的窗体设计器
    对象观察器(Object Inspector)
    链接和作用域 C++快速入门42
  • 原文地址:https://www.cnblogs.com/lavalike/p/5341812.html
Copyright © 2020-2023  润新知