一、為什麼要使用圓角圖片
圓角圖片在Android應用UI設計中經常用到,它能讓應用界面顯得更加美觀,尤其是在與其他控件的交互時更容易吸引用戶的注意力。此外,圓角圖片還能夠減少矩形圖片的銳利感,使用戶眼睛不那麼容易疲勞。
二、如何實現圓角圖片
在Android中,圓角圖片的實現方式主要有兩種:
- 使用android.graphics.Canvas繪製
- 使用android.graphics.Outline和android.view.ViewOutlineProvider
三、使用android.graphics.Canvas繪製圓角圖片
1、首先,我們需要獲取Bitmap對象:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
2、接着,我們需要創建一個與原始圖片大小相同的空白Bitmap對象,用於繪製圓角矩形:
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
3、然後,我們需要創建一個Canvas對象並在其上繪製圓角矩形:
Canvas canvas = new Canvas(output);
Paint paint = new Paint();
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
RectF rectF = new RectF(rect);
float radius = 50.0f;
paint.setAntiAlias(true);
canvas.drawRoundRect(rectF, radius, radius, paint);
4、最後,我們需要將原始圖片和繪製好的圓角矩形進行合併:
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
5、最終的代碼如下:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
Paint paint = new Paint();
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
RectF rectF = new RectF(rect);
float radius = 50.0f;
paint.setAntiAlias(true);
canvas.drawRoundRect(rectF, radius, radius, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
四、使用android.graphics.Outline和android.view.ViewOutlineProvider繪製圓角圖片
1、首先,我們需要獲取ImageView並設置其圖片源:
ImageView imageView = findViewById(R.id.image_view);
imageView.setImageResource(R.drawable.image);
2、接着,我們可以通過以下代碼實現圓角圖片的效果:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imageView.setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
int radius = 50;
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), radius);
}
});
imageView.setClipToOutline(true);
}
3、最後的效果如下圖所示:
五、總結
以上就是實現Android應用UI設計中圓角圖片效果的兩種方法,更多的實現方式需要根據具體的業務需求和UI設計來選取。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/270162.html