【问题标题】:Android: draw on a view inside an inflated xml (another view)Android:在膨胀的 xml 内的视图上绘制(另一个视图)
【发布时间】:2010-10-23 00:19:39
【问题描述】:

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

有什么想法吗??

【问题讨论】:

    标签: android view draw inflate ondraw


    【解决方案1】:

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

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

    然后您可以创建一个扩展 View 的类 ViewClassName,并在该类上覆盖 onDraw 方法。此处对此进行了详细说明:http://developer.android.com/guide/topics/ui/custom-components.html。可以直接进入主题Modifying an Existing View Type

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

    希望我能帮上忙

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多