【问题标题】:Android custom View + standard element...how?Android自定义视图+标准元素...怎么样?
【发布时间】:2011-02-05 23:06:38
【问题描述】:

我已经在 Android 应用程序上工作了一段时间,我正在尝试为它开发一个 UI。我已经用标准的 XML + Java 方法创建了几个,但是一个屏幕需要一个自定义视图(使用绘图来创建一种网格),它下面有一个小的 TextView,下面有两个按钮。这个自定义视图似乎不能合理地扩展现有视图(尽管如果可以的话,这可能会使事情变得更容易),所以我要么使用 XML + Java 布局并将自定义视图集成到其中,要么使用严格的Java 来创建布局。在对两者都进行了挖掘之后(前者除了崩溃或空白屏幕之外什么都没有),我一直在使用 Java 布局,但似乎无法在自定义视图下显示任何内容。

我已经翻阅了许多教程,但我似乎无法从中获得任何有用的东西,而且 Android 开发人员资源对这类事情也不是很详细。如果有人可以为我指明正确的方向以使其正常运行,那就太好了。

【问题讨论】:

    标签: android xml layout view


    【解决方案1】:

    您可以使用来自 XML 的自定义视图:

    <com.mypackage.MyCustomView android:layout_width="wrap_content" ... />
    

    【讨论】:

    • 我已经用完整的包名尝试了 XML 中的自定义视图。它因几个错误而崩溃,其中大多数似乎与充气机有关。我只是不能让这个东西与 XML 一起玩得很好。我希望严格使用 Java 来解决问题,虽然这不会崩溃,但我无法让该死的按钮显示在下面。我能做的最好的事情就是让他们覆盖自定义视图,这当然行不通。
    • 您可能缺少正确的构造函数:您需要实现将 AttributeSet 作为参数的构造函数。
    • 有什么办法可以缩写包名吗?如果我添加 xmlns:foo="schemas.android.com/apk/res/com.mybiz.package" 我应该能够写 而不是 对吗?
    • 命名空间从不用于标签名称,仅用于属性。标签名始终是完全限定的类名。
    【解决方案2】:

    这是一个自定义视图的示例,其中包含许多标准视图,例如其下方的按钮。自定义视图只是简单地添加到一个 linerLayout 中:http://about-android.blogspot.com/2010/07/2d-graphics-with-effects_11.html

    【讨论】:

      猜你喜欢
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      相关资源
      最近更新 更多