[解決済み] 角丸のImageViewを作るには?
2022-03-15 17:16:41
質問
Androidでは、ImageViewはデフォルトで長方形です。ImageViewで角の丸い矩形にする(Bitmapの4隅を切り取って角の丸い矩形にする)にはどうしたらよいでしょうか?
どのように解決するのですか?
かなり遅いレスですが、これを探している人のために、以下のコードを実行すると、画像の角を手動で丸めることができます。
これは私のコードではないのですが、実際に使ってみて素晴らしい出来栄えでした。私はこれを ImageHelper クラスのヘルパーとして使い、与えられた画像に必要なフェザリングの量を渡すために少しだけ拡張した。
最終的には以下のようなコードになります。
package com.company.app.utils;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
public class ImageHelper {
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = pixels;
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
}
関連
-
AndroidでAttempt to invoke virtual method... on null object referenceの例外が発生する。
-
[android studio]com.android.ide.common.process.ProcessException: aaptの実行に失敗しました
-
Android開発で「Attempt to invoke virtual method 'XXX()' on null object reference」というヌルポインター例外に遭遇する。
-
Android studio 制約レイアウト ConstraintLayout
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] 角を丸くしたレイアウトを作るには・・・?
-
[解決済み] ボタンの角を丸くするには?
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] CSS3のborder-radiusプロパティとborder-collapse:collapseが混ざらないのですが。border-radiusを使用して、角を丸くした折りたたみテーブルを作成するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Androidのadbデバイスがオフラインであることが判明
-
android.os の NetworkOnMainThreadException。
-
デフォルトのアクティビティが見つからない場合の対処法
-
エラーが発生しました。ArrayAdapter は、リソース ID が TextView である必要があります。
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
android exception - aapt.exe has stopped working.
-
エラータイプ 3 タイプエラー, Error: アクティビティクラス{}が存在しません。アクティビティ起動時のエラー 解決方法
-
Windowsのadbシェルでデータディレクトリにアクセスするとパーミッションが拒否される
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
[解決済み】Androidで円形のImageViewを作成する方法は?重複