3

穴の開いた四角形を描きたいです。Shape Rectangle を使用してこれを達成しようとしています。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke
        android:width="50dp"
        android:color="@color/red" />
</shape>

この長方形が描画されている間にストローク幅を変更する方法を理解しようとしています。たとえば、Rectangle は上端と下端で 50 dp のストローク幅ですが、左端と右端では 20 dp になります。

これについてご協力いただき、誠にありがとうございます。

4

3 に答える 3

0

形状はビュー(imageViewなど)の背景として使用されると思います。したがって、最初にDrawableからオブジェクトimageViewを取得し、そこからオブジェクトを取得しPaintます。次に、必要なプロパティを変更できます。

Drawable background = imageView.getBackground();
if (background instanceof ShapeDrawable) {
    // cast to 'ShapeDrawable'
    ShapeDrawable shapeDrawable = (ShapeDrawable)background;
    shapeDrawable.getPaint().setStrokeWidth(...);
}

ここに関連する質問:プログラムで Android の形状の色を設定する

于 2015-12-16T22:04:59.813 に答える
0

ご協力ありがとうございます。onDraw() をオーバーライドしてレイアウトの背景色をクリアし、setXfermode() を使用して長方形の穴を作成することになりました。

于 2015-12-23T06:48:01.330 に答える