3

正常に動作するカスタム ビューを作成しましたが、メソッド内にビューを配置するとPercentRelativeLayoutgetHeight()メソッドが 0 を返します。ビューのlayout_heightまたはlayout_widthパラメータのみをapp:layout_hieghtPercent初期 化しませんapp:layout_widthPercent

ビューの高さを設定しても、layout_heightまだ初期化されていません。

のときにビューの高さを取得するにはどうすればよいPercentRelativeLayoutですか?

以下に、私の xml コードを示します。

<android.support.percent.PercentRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background">

<com.cgt.allridepassengerapp.customviews.DigitEditText
        android:id="@+id/et_verify_code"
        android:layout_marginLeft="@dimen/size_30"
        android:layout_marginRight="@dimen/size_30"
        android:background="@android:color/transparent"
        android:imeOptions="actionDone"
        android:maxLength="5"
        app:layout_heightPercent="10%"
        app:layout_marginTopPercent="43.2%"
        app:layout_widthPercent="84.2%">
        <requestFocus/>
    </com.cgt.allridepassengerapp.customviews.DigitEditText>

    </android.support.percent.PercentRelativeLayout>

onDraw(Context) メソッド:

@Override
    protected void onDraw(Canvas canvas)
    {
        getHeight(); // is 0
    }
4

0 に答える 0