2
私はカスタムビューを作成しています。レイアウトファイルでは、幅を200dp、高さを200dpに設定しました。私は、ビューの幅を取得するためにgetWidth()
やgetMeasuredWidth()
を使用していカスタムビューの測定
<com.example.baoshuai.mydefineview.MyTextView
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_margin="30dp"
android:text="Hello,Sunshine"
android:textAllCaps="false"
android:paddingTop="40dp"
android:textAlignment="center"/>
は、値が200dpが、700dpではありません。私は測定結果を得るのはここです:ここでは
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.BLUE);
int width = getWidth();
int height = getHeight();
Log.d("get","Width:"+width+" Height:"+height);
int measuredWidth = getMeasuredWidth();
int measuredHeight = getMeasuredHeight();
Log.d("getMeasured","measuredWidth:"+measuredWidth+" measuredHeight:"+measuredHeight);
}
はスクリーンショットです:あなたが定義されている
ありがとう、私は間違いを見つけました。 – lbs0912