0

这是我的屏幕布局的简要说明。

<CustomLayout>
    <CardView>
        <CustomTextView />
        <CustomTextView />
        <CustomTextView />
    </CardView>
    <CustomTextView />
    <CustomTextView />
</CustomLayout>

我对它进行了编码,CardView extends LinearLayout并且CustomTextView extends TextView. 一切正常,除了我想CardView在第二个的底部和底部画一条边界线CustomTextView。为此,我对 myCardView和 my使用相同的方法CustomTextView

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    getLocalVisibleRect(mRect);
    if (mDrawBottomBorder)
        canvas.drawLine(mRect.left, mRect.bottom, mRect.right, mRect.bottom, mBorderPaint);
}

在这两种情况下都会调用该方法,即为 my CardViewCustomTextView但它不会为 my 绘制边框CardView!我怀疑这是因为它extends LinearLayout而不是TextView但它不应该工作吗?

4

1 回答 1

0

好的,我想通了。CustomTextView我的布局中的第三个CardView覆盖了它下面的边框,所以这条线不可见。

于 2013-03-28T02:23:25.643 回答