这可能有些奇怪的问题,但我无法弄明白。 基本上我有一个扩展View的类并覆盖onDraw方法,因此它绘制了一个位图。我想要做的是从画廊中选择一张图片,发送并通过意图并在视图上绘制。
问题是我无法在启动时获取活动来绘制位图。我尝试进入onCreate,onStart ......没有用。
如果我按下按钮并调用invalitate(),它会起作用,所以我怀疑我在Activity没有完成绘制之前尝试绘制。
有什么建议吗?
答案 0 :(得分:1)
好吧,如果你在onCreate中实例化扩展View的类,那应该可行。
看一下这个例子:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set full screen view
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
customView = new CustomView(this);
setContentView(customView);
customView.requestFocus();
}
答案 1 :(得分:0)
覆盖onWindowFocusChanged()
中的方法Activity
。
您可以在此处确保已绘制视图。您可以使用此方法开始获取视图的尺寸/位置。
例如。 customView.getLeft()
等