我正在努力让ImageView成为我可以用手指画出的表面。
我已经关注了Android 2D Graphics Example,这导致整个屏幕可绘制(有一些问题,在问题8287949中讨论过,但与我想要做的事情有些脱节。)
我正在使用:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceStatA);
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
// requestWindowFeature(Window.FEATURE_NO_TITLE);
drawView = new DrawView(this);
drawView.requestFocus();
setContentView(R.layout.activity_main);
}
我想我需要将drawView = new DrawView(this)
更改为引用我在activity_main.xml
中定义的资源的上下文的内容:
ImageView
android:id="@+id/canvasview"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnRed"
android:background="@drawable/kitty"
但是,我要么不知道我在API参考中寻找什么,要么我找不到它。
DrawView的类在Android 2D Graphics Example中有记录,所以我在此不再重复。
我一直在使用AppInventor,并尝试使用真正的Android SDK复制我在Eclipse中学到的东西,但我对教程#1感到难过,对新手问题感到抱歉!
答案 0 :(得分:4)
用于创建Context
的{{1}}实际上是View
,因此它已分配给Activity
引用。当你拨打this
时,它会被设置。
因此,要检索setContentView()
,您将获得对视图的引用,然后调用Context
。在这种特定情况下,它将是
getContext()