ImageView imageView = (ImageView)findViewById(R.id.bg2);
int targetWidth = 0;
targetWidth = imageView.getWidth();
//测量图片实际大小
BitmapFactory.Options measureOpts = new BitmapFactory.Options();
measureOpts.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.drawable.yinsi_di_bulidaer, measureOpts);
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inDensity = getResources().getDisplayMetrics().densityDpi;
opts.inTargetDensity = targetWidth * opts.inDensity / measureOpts.outWidth;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.yinsi_di_bulidaer, opts);
//不能使用过时的构造方法,否则可能会不生效
BitmapDrawable bgDrawable = new BitmapDrawable(getResources(), bitmap);
//设置填充模式,由于X轴充满视图,所以TileMode可以为null
bgDrawable.setTileModeXY(Shader.TileMode.REPEAT, null);
// bgDrawable.setTileModeXY(null, Shader.TileMode.REPEAT);
bgDrawable.setDither(true);
imageView.setBackground(bgDrawable);
效果图: