Невозможно нарисовать прямоугольник в нижнем углу экрана - PullRequest
0 голосов
/ 19 февраля 2019

Невозможно нарисовать прямоугольник в нижнем углу экрана, когда я нахожусь в полноэкранном режиме, означает, что строка состояния не видна и панель навигации не видна

Display mdisp = getWindowManager().getDefaultDisplay();
Point mdispSize = new Point();
mdisp.getSize(mdispSize);
int maxX = mdispSize.x; 
int maxY = mdispSize.y;

@Override
    protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
                            canvas.drawRect(0, maxY-pixel, pixel, MaxY);
           }

с использованием этого кода яне в состоянии поместить этот прямоугольник в нижний угол, прямоугольник всегда оказывается над областью, которая является резервом для панели навигации.corner

1 Ответ

0 голосов
/ 19 февраля 2019

Это в Котлине, но он может показать вам, как этого добиться:

class MyView(context: Context, attributeSet: AttributeSet) : View(context, attributeSet) {
    private var mHeight = 0
    private var mWidth = 0

    override fun onDraw(canvas: Canvas?) {
        canvas?.drawRect(mWidth-100, mHeight-100, mWidth, mHeight)
    }

    override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
        super.onLayout(changed, left, top, right, bottom)
        mHeight = bottom - top
        mWidth = right - left
    }
}
...