2

我创建了一个自己的视图:

    private class SampleView extends View {

我想将此视图“植入”到我在 xml 文件中创建的 LinearLayout 中。我怎么做?有人能帮我吗?

4

3 回答 3

3

添加你的布局文件

<LinearLayout >

<com.yourpackagename.SampleView />

<LinearLayout> 

或者

LinearLayout lLayout = (LinearLayout)findViewById(R.id.linearlayout);
lLayout.addView(new SampleView());
于 2012-05-06T12:28:43.920 回答
2

只需使用自定义视图类的完全限定名称

<LinearLayout ...>
  <your.package.SampleView 
    android:layout_width=".."
    android:layout_height=".."
    ..
  >
  </your.package.SampleView >
  ..
</LinearLayout>

但是,从您的类定义中删除“private”,如果它是嵌套类,则添加static

此时您不能使用内部类

于 2012-05-06T12:31:10.820 回答
1

尝试View像这样添加您的自定义:

<view
   class="test.project.app.Compass$SampleView"
   //... other attributes
/>

您的自定义View类必须是public并且static上述代码才能工作。另一种选择是将其放在SampleView自己的文件中,然后简单地使用上面答案中的代码。

于 2012-05-06T12:49:22.800 回答