10

以下のようなカスタムボタンの作成を手伝ってもらえますか?出来ますか?たくさん検索して、再びあることが判明したいくつかのものだけを見つけることができましたrectangular/square shapes。しかし、私は2つのボタンをtriangularもう一方の上に配置し、特定の占有領域でのみクリックできるようにしたいと考えています。コードスニペットは大歓迎です。

ここに画像の説明を入力してください

4

1 に答える 1

2

このように、そのメソッドを拡張Viewしてサブクラス化することでそれを行うことができますonTouchEvent

public class BottomLeftTriangleButton extends View {

    // Copy superclass contructors

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getX() / getWidth() < event.getY() / getHeight()) {
            return super.onTouchEvent(event);
        }
        return false;
    }

}

このように、カスタム ビューは、「ボタン 2」領域に対応する左下領域のクリックのみをインターセプトします。「<」記号を「>」に変更すると、他の領域をクリック可能にできます。

次に、2 つのビューを同じFrameLayoutに配置すれば完了です。

于 2013-03-16T12:15:39.107 に答える