Я рисую всплывающую подсказку после нажатия внутри пользовательской гистограммы (созданной с помощью MPAndroidChart). Иерархия представления выглядит следующим образом
<LinearLayout>
<TextView text=Move & Max Pain/>
<RelativeLayout with 2 textviews>
<chart
clipToChildren=false
clipToPadding=false
/>
</LinearLayout>
Пока представление находится внутри Диаграммы или ее ближайшего родственника, все выглядит хорошо. Но в тот момент, когда он сталкивается со своим родным братом, всплывающая подсказка усекается
Используя HierarchyViewer, я вижу, что содержимое присутствует, но оно не нарисовано.
Чтобы получить обрезку, я использую этот код внутри draw
@Override
public void draw(Canvas canvas, float posx, float posy) {
// take offsets into consideration
posx += getXOffset();
posy += getYOffset();
canvas.save();
// translate to the correct position and draw
canvas.translate(posx, posy);
Rect clipBounds = canvas.getClipBounds();
clipBounds.inset(0, -getHeight());
canvas.clipRect(clipBounds, Region.Op.INTERSECT);
draw(canvas);
canvas.translate(-posx, -posy);
canvas.restore();
}
Если я изменяю Op на Region.Op.Replace, всплывающая подсказка правильно рисует, но вместо содержимого прокрутки заменяет содержимое панели инструментов.