2

MyView は View を拡張し、onDraw() で円を描画します。ただし、margin を親レイアウトに設定すると、しばしばクリップされます。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:layout_marginLeft="0dp"
    android:layout_marginRight="0dp"
    android:layout_marginTop="10dp"
    ... >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RAM" />

        <my.ui.ClockView2
            android:padding="5dp"
            android:id="@+id/ram_cv"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:visibility="visible" />

マージンを計算しようとしましたが、パディングしか得られませんでした:

    _availableWidth = getWidth() - getPaddingLeft() - getPaddingRight();
    _availableHeight = getHeight() - getPaddingTop() - getPaddingBottom();

これを回避する方法はありますか、事前に感謝します!

4

1 に答える 1

1

ビュー内からこれを行っているように見えるので、これを試してください:

        MarginLayoutParams lp = (MarginLayoutParams) getLayoutParams();
        int[] mymargin = {
                lp.leftMargin,
                lp.rightMargin,
                lp.topMargin,
                lp.bottomMargin,
        };
于 2014-01-22T14:17:41.023 に答える