我有一个名为'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但没有任何效果,
任何想法??
答案 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
方法,这是导致您的小部件出现在屏幕上的原因。