Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 圖片水平重復平鋪(repeat x)

android 圖片水平重復平鋪(repeat x)

編輯:關於Android編程

vcq9CjxzdHJvbmc+PGJyPgo8L3N0cm9uZz4KtLS9qHdhdmVfcmVwZWF0LnhtbAo8P3htbCB2ZXJzaW9uPQ=="1.0" encoding="utf-8"?>
android:src="@drawable/wave"
android:tileMode="repeat" />
在layout中使用 android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/wave_repeat" />
這種方式有一個問題,最後一張重復圖片不一定是完整的圖片可能只是一部分
效果圖:(左右兩條豎線是後來加的) \

2.可確保最後一張重復圖片是完整的,就是幾個完整的一樣的圖片X軸重復 Resources res = context.getResources();
Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.wave);
holder.viewWave.setImageBitmap(BitmapHelper.createRepeater(screenWidth, bitmap));//screenWidth為屏幕寬度(或顯示圖片的imageview寬度)

BitmapHelper.java 中的方法 public static Bitmap createRepeater(int width, Bitmap src) {
int count = (width + src.getWidth() - 1) / src.getWidth(); //計算出平鋪填滿所給width(寬度)最少需要的重復次數
Bitmap bitmap = Bitmap.createBitmap(src.getWidth()*count, src.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
for (int idx = 0; idx < count; ++idx) {
canvas.drawBitmap(src, idx * src.getWidth(), 0, null);
}
return bitmap;
}

在layout中設置imageview的scaleType為fitXY <ImageView
android:id="@+id/view_wave"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY" />

效果圖:

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved