1

三角形 (カスタム ビュー) を作成し、それを親ビュー (RelativeLayout) に追加しています。ここで問題に直面しているのは、親のフルスクリーンを表示するビューでした。カスタムビューのサイズをその境界まで設定するにはどうすればよいですか。三角形はビューから伸びており、タッチリスナーがあります。三角形のサイズを動的に変更しています。

そのビューに onMeasure() が追加されましたが、一定の幅と高さが必要です..

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    Log.d(TAG, "Width spec: " + MeasureSpec.toString(widthMeasureSpec));
    Log.d(TAG, "Height spec: " + MeasureSpec.toString(heightMeasureSpec));

    int widthMode = MeasureSpec.getMode(widthMeasureSpec);
    int widthSize = MeasureSpec.getSize(widthMeasureSpec);

    int heightMode = MeasureSpec.getMode(heightMeasureSpec);
    int heightSize = MeasureSpec.getSize(heightMeasureSpec);

    int chosenWidth = chooseDimension(widthMode, widthSize);
    int chosenHeight = chooseDimension(heightMode, heightSize);

    int chosenDimension = Math.min(chosenWidth, chosenHeight);

    setMeasuredDimension(chosenDimension, chosenDimension);
}

ユーザーがどれだけ持っているかを変更したときに、ビューのサイズに応じてカスタムビューの幅と高さを設定したい。画像を見てください。

ここに画像の説明を入力

4

1 に答える 1

0

ポイントがどこにあるかは問題ではありません。任意の向きの三角形を描くことができます。ただし、カスタム ビューは常に長方形になります。三角形の外側に何も描画しない場合、ビューは三角形に見えます。

于 2012-07-19T06:33:30.010 に答える