2

へのカスタム アダプタの呼び出しを使用してにButtonデータを入力する があります。そのため、.xml ファイルはありません。GridViewgetView()Button

プログラムで丸める方法はありButtonますか?

4

3 に答える 3

6

9 パッチを使用します。例を次に示します。

ここに画像の説明を入力

/res/drawable-mdpi/これをファイル名でディレクトリに保存しますbtn_round.9.png

次に、Javaコードでこれを行います:

mBtn.setBackgroundResource(R.drawable.btn_round);

それは 9 パッチ ウィットであるため、ボタン内に配置するコンテンツに合わせて伸縮します。9 つのパッチ ファイルを作成する方法の詳細については、「android draw9patch」を検索してください。

于 2013-03-04T04:27:47.463 に答える
2

以下の指定されたメソッドは、画像の丸められたビットマップを返します。それをボタン画像に適用し、これが役立つかどうかを確認します

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;
}
于 2013-03-04T04:45:07.107 に答える
1

角のある XML 描画可能な背景を使用し、setBackground を使用します。ボタンの角を丸くする方法を参照してください。

ボタン自体が xml で定義されていなくても、これを使用できます。背景を xml ファイルとして宣言しているだけです。

于 2013-03-04T04:27:17.557 に答える