- поместите ваш вид (который использует холст) внутри RelativeLayout,
public class YourComponent extends View{
@Override
protected void onDraw(Canvas canvas)
...
public void onDraw(){
....
....
ImageView yourImageView = .....
RelativeLayout.LayoutParams fParams = new RelativeLayout.LayoutParams(25,25);
fParams.leftMargin = 100; //x coordinate
fParams.topMargin = 25; /y coordinate
yourImageView.setLayoutParams(fParams);
((RelativeLayout) YourComponent.this.getParent()).addView(yourImageView);
}
}
над кодом: я создал параметры макета, которые показывают размеры 25x25 для вида.и после этого я использовал поля, чтобы установить правильную позицию на родительском макете.и установите этот LayoutParams для ImageView.и наконец, я добавил это imageView в родительский макет.
Но учтите, что во время выполнения onDraw () вызывающая операция на внешнем представлении может остановить onDraw ().поэтому, если вы хотите использовать этот способ, убедитесь, что вы уже выполнили все операции onDraw.Я не уверен, почему это происходит.Я еще не пытался наблюдать за этим слишком много.