算了 自己查得了。public static Drawable createFromPath(String pathName) {
         if (pathName == null) {
             return null;
         }
         Trace.traceBegin(Trace.TRACE_TAG_RESOURCES, pathName);         try {
             Bitmap bm = BitmapFactory.decodeFile(pathName);
             if (bm != null) {
                 return drawableFromBitmap(null, bm, null, null, null, pathName);
             }
         } finally {
             Trace.traceEnd(Trace.TRACE_TAG_RESOURCES);
         }
         return null;
     }

解决方案 »

  1.   


    private static Drawable drawableFromBitmap(Resources res, Bitmap bm, byte[] np,            Rect pad, Rect layoutBounds, String srcName) {        if (np != null) {
                return new NinePatchDrawable(res, bm, np, pad, layoutBounds, srcName);
            }
            return new BitmapDrawable(res, bm);
        }
      

  2.   

    Create drawable from a bitmap, setting initial target density based on the display metrics of the resources.     public BitmapDrawable(Resources res, Bitmap bitmap) {
            this(new BitmapState(bitmap), res);
            mBitmapState.mTargetDensity = mTargetDensity;
        }