正常に動作するカスタム ビューを作成しましたが、メソッド内にビューを配置するとPercentRelativeLayout
、getHeight()
メソッドが 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
}