へのカスタム アダプタの呼び出しを使用してにButton
データを入力する があります。そのため、.xml ファイルはありません。GridView
getView()
Button
プログラムで丸める方法はありButton
ますか?
へのカスタム アダプタの呼び出しを使用してにButton
データを入力する があります。そのため、.xml ファイルはありません。GridView
getView()
Button
プログラムで丸める方法はありButton
ますか?
9 パッチを使用します。例を次に示します。
/res/drawable-mdpi/
これをファイル名でディレクトリに保存しますbtn_round.9.png
次に、Javaコードでこれを行います:
mBtn.setBackgroundResource(R.drawable.btn_round);
それは 9 パッチ ウィットであるため、ボタン内に配置するコンテンツに合わせて伸縮します。9 つのパッチ ファイルを作成する方法の詳細については、「android draw9patch」を検索してください。
以下の指定されたメソッドは、画像の丸められたビットマップを返します。それをボタン画像に適用し、これが役立つかどうかを確認します
public 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;
}
角のある XML 描画可能な背景を使用し、setBackground を使用します。ボタンの角を丸くする方法を参照してください。
ボタン自体が xml で定義されていなくても、これを使用できます。背景を xml ファイルとして宣言しているだけです。