0

我有一个名为“xmlview.xml”的小 xml 文件,类似于:

<tablelayout>
   <tablerow>
      <view id="view1" />

我创建了一个扩展视图的类,我膨胀了那个 xml 文件,现在我有了一个由于膨胀而获得的视图。

xmlView = layoutInflater.inflate(R.layout.xmlview, this);

我想知道有没有办法在视图“xmlview”内的视图“view1”上绘制

我试过类似的东西:

View view1 = (View)xmlview.findById(R.Id.view1);

然后我尝试在覆盖的 onDraw 中绘制 view1 但没有任何效果,

有任何想法吗 ??

4

2 回答 2

2

在我看来,也许你应该尝试这样的事情:

<TableLayout>
   <TableRow>
     <com.yourdomain.yourproject.ViewClassName>

然后,您可以创建一个扩展 View 的类 ViewClassName,并在该类上覆盖 onDraw 方法。这在这里详细解释:http: //developer.android.com/guide/topics/ui/custom-components.html。您可以直接进入主题修改现有视图类型

看,如果这样做的唯一原因是尝试操纵视图的绘图,则不需要膨胀视图。如果这是唯一的原因,你真的不应该。

希望我有所帮助

于 2010-11-12T14:35:46.420 回答
0

我不确定您所说的“在视图上绘制”到底是什么意思,但听起来您应该查看Canvas。您不应随意覆盖该onDraw方法,这是导致您的小部件出现在屏幕上的原因。

于 2010-10-23T00:30:04.033 回答