Android 不应该';t右边是左边+;视图的宽度?
对于绘制矩形的自定义视图,我在Android 不应该';t右边是左边+;视图的宽度?,android,android-layout,android-view,android-screen,android-rendering,Android,Android Layout,Android View,Android Screen,Android Rendering,对于绘制矩形的自定义视图,我在onDraw @Override protected void onDraw(Canvas canvas) { int left = getPaddingLeft(); int right = getWidth() - getPaddingLeft() - getPaddingRight(); //etc canvas.drawRect(left, top, right, bottom,
onDraw
@Override
protected void onDraw(Canvas canvas) {
int left = getPaddingLeft();
int right = getWidth() - getPaddingLeft() - getPaddingRight();
//etc
canvas.drawRect(left, top, right, bottom, paint);
}
右
不应该是:
int right = left + getWidth() + getPaddingRight();
i、 e
int right = getWidth() + left + getPaddingRight();
右键基本上是计算内容的宽度,所以它实际上是没有两个填充的宽度 请原谅我粗俗的解释:
// horizontal views layout. It's total views width
// |--- left padding ---|--- content ---|--- right padding ---|
// |--- left padding ---|
int left = getPaddingLeft();
// |--- content ---|
int right = getWidth() - getPaddingLeft() - getPaddingRight();
// |--- left padding ---|--- content ---|--- right padding ---|
// ^_______________^
// left right
canvas.drawRect(left, top, right, bottom, paint);
你的建议是:
int left = getPaddingLeft();
// |--- left padding ---|--- content ---|--- right padding ---|--- left padding ---|--- right padding ---|
int right = getWidth() + left + getPaddingRight();
// |--- left padding ---|--- content ---|--- right padding ---|
// ^_____________________________________________________________________________________________________^
// left right
canvas.drawRect(left, top, right, bottom, paint);
右图基本上是计算内容的宽度,所以它实际上是并没有两个填充的宽度 请原谅我粗俗的解释:
// horizontal views layout. It's total views width
// |--- left padding ---|--- content ---|--- right padding ---|
// |--- left padding ---|
int left = getPaddingLeft();
// |--- content ---|
int right = getWidth() - getPaddingLeft() - getPaddingRight();
// |--- left padding ---|--- content ---|--- right padding ---|
// ^_______________^
// left right
canvas.drawRect(left, top, right, bottom, paint);
你的建议是:
int left = getPaddingLeft();
// |--- left padding ---|--- content ---|--- right padding ---|--- left padding ---|--- right padding ---|
int right = getWidth() + left + getPaddingRight();
// |--- left padding ---|--- content ---|--- right padding ---|
// ^_____________________________________________________________________________________________________^
// left right
canvas.drawRect(left, top, right, bottom, paint);
不,不一定<代码>视图通常不在填充区域中绘制,而
视图的getWidth()
包含水平填充。不,不一定<代码>视图
通常不在填充区域中绘制,而视图
的getWidth()
包含水平填充。