gpt4 book ai didi

java - 来自 9patches WITHOUT XML 的自定义按钮

转载 作者:行者123 更新时间:2023-11-29 06:05:25 25 4
gpt4 key购买 nike

我想从 9patches 创建一个自定义 Android 按钮,但不使用任何 XML。我知道,这听起来很愚蠢,但原因是出于某种原因,我的 IDE (NetBeans) 将整个 XML 搞得一团糟,令人难以置信。 R.java 有一半时间不会生成(修复对我不起作用),并且我会收到随机错误,即使我只是从教程中复制和粘贴 XML。

这就是我计划创建按钮的方式:

  1. 按钮有一个setBackgroundDrawable()方法
  2. 我需要为这个方法提供一个StateListDrawable
  3. 我需要从 NinePatchDrawables 构建它

所以首先我需要创建 9 个补丁,然后是它们的 StateListDrawable,然后简单地将 StateListDrawable 作为背景传递给我的 Button 的 setBackgroundDrawable() 方法。

我无法启动 9patches,因为我不知道构造函数是如何工作的。

最佳答案

将您的时间投入其中之一对您来说是否更有意义:

  • 修复 NetBeans,或者
  • 切换到一些不同的编辑器/IDE?

尝试在没有 XML 的情况下进行 Android 开发就像没有翅膀试图飞翔。这是可能的,但火箭最终往往会坠毁并燃烧。


无论如何,您不需要直接使用 NinePatchDrawable 来使用九补丁 PNG 文件。 Android 将为您处理该部分。

相反,创建一个 StateListDrawable 的实例并为您的每个状态调用 addState()。要获取状态的 Drawable,请使用 Activity 中的 getResources().getDrawable(R.drawable.this_is_one_of_your_nine_patch_images)。 Android 会检测到这是一个九补丁并会做正确的事情。

关于java - 来自 9patches WITHOUT XML 的自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com