Android:在一个膨胀的xml内部绘制一个视图(另一个视图)

时间:2010-10-23 00:19:39

标签: android view draw inflate ondraw

我有一个名为'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但没有任何效果,

任何想法??

2 个答案:

答案 0 :(得分:2)

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

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

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

请参阅,如果执行此操作的唯一原因是尝试操纵视图的绘图,则无需为视图充气。如果这是唯一的原因,你真的不应该。

希望我能帮助

答案 1 :(得分:0)

我不确定“画在视图上”究竟是什么意思,但听起来你应该调查Canvas。您不应该任意覆盖onDraw方法,这是导致您的小部件出现在屏幕上的原因。