如何从ImageView获取上下文

时间:2012-10-31 21:24:07

标签: java android touch

我正在努力让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感到难过,对新手问题感到抱歉!

1 个答案:

答案 0 :(得分:4)

用于创建Context的{​​{1}}实际上是View,因此它已分配给Activity引用。当你拨打this时,它会被设置。

另外,View#getContext()

因此,要检索setContentView(),您将获得对视图的引用,然后调用Context。在这种特定情况下,它将是

getContext()