问题标签 [android-attributes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
282289 浏览

android - 定义自定义属性

我需要实现自己的属性,例如com.android.R.attr

在官方文档中找不到任何内容,因此我需要有关如何定义这些属性以及如何从我的代码中使用它们的信息。

0 投票
5 回答
36517 浏览

android - 如何从可绘制对象中引用样式属性?

我想为我的应用程序提供 2 个可选主题。为此,我定义了一些属性,如下所示:

然后,我创建了两个主题,如下所示:

这种方法效果很好,让我可以轻松创建和修改多个主题。问题是它似乎只能在 Views 中使用,而不能在 Drawables 中使用

例如,从布局内的视图中引用一个值是可行的:

但是在 Drawable 中做同样的事情不会:

运行应用程序时出现此错误:

如果不是?item_background我使用硬编码的颜色,它可以工作,但这不允许我使用我的主题。我也试过?attr:item_background了,但同样的事情发生了。

我怎么能这样做?为什么它在 Views 中有效,但在 Drawables 中无效?我在文档中的任何地方都找不到这个限制......

0 投票
3 回答
13215 浏览

android - 如何在 Android 中创建属性集?

我正在尝试在 Android 中编写一些代码来在AttributeSetattrs.xml 文件中设置参数。但我收到“找不到资源”错误。

Java 代码

MainActivity.java

MyCompound.java

attrs.xml

错误 :

所以,这里是上面所有的代码和错误描述。我想MyCompoundMainActivity. 我知道如何使用XML诸如

上述结构将帮助我设计静态自定义布局,但不会帮助我设计动态布局。

那么,我怎样才能用一个来调用这个MyCompound类呢?MainActivityAttributeSet

0 投票
1 回答
3846 浏览

android - Android:如何从自定义视图的超类中获取属性

我有一个A具有 TextView 的自定义视图。我做了一个返回resourceIDTextView 的方法。如果没有定义文本,该方法将默认返回 -1。我还有一个B继承自 view的自定义视图A。我的自定义视图有文本“你好”。当我调用该方法来获取超类的属性时,我得到了 -1 。

在代码中还有一个示例说明我如何能够检索该值,但感觉有点 hacky。

attrs.xml

A级

B类

到目前为止,我发现的另一个解决方案是执行以下操作。我也认为这有点骇人听闻。

如何从自定义视图的超类中获取属性?我似乎找不到任何关于继承如何与自定义视图一起工作的好例子。

0 投票
0 回答
1096 浏览

android - attr ColorForeground vs WindowBackground

我要制作自己的主题,而不是继承 android 的主题。

所以,我参考http://developer.android.com/reference/android/R.attr.html但我不能从中大部分理解。

我知道android:windowBackground是背景,但android:colorForeground, android:colorBackground,是android:colorBackgroundCacheHint为了什么?

我必须声明所有属性吗?(通过 android 主题的 attr)因为,例如,android:backgroundDimAmount不用于styles_holo.xmlor中的任何内容styles.xml。(由android风格的)它在构造函数中使用吗?

0 投票
1 回答
1101 浏览

android - 如何在运行时自定义 XML 中定义的自定义可绘制对象?

我制作了一个自定义的多层可绘制对象作为按钮的背景。有时,我希望这个可绘制图层的一部分是蓝色的。有时我希望它是绿色的。关键是,它是一个变量,我希望它可以在关联的自定义视图 XML 中定义。

这可能吗?如何在 XML 中编写一个可以在运行时确定其值的可绘制对象?

custom_button.xml

该行<solid android:color="?attr/colorButtonNormal" />是我想在运行时设置的。我的这个类的自定义视图已经接收到我想在这里使用的颜色值 - 我如何将它应用到这个可绘制对象的 XML 中?

0 投票
0 回答
1891 浏览

android - 如何定义样式和默认属性以同时接受 float 和 int(dp 和 wrap_content)

我正在开发一个开源库作为内置 android PopupMenu 的替代品,在我的库中,我想让所有内容都可以自定义,这样如果你想使用它并更改弹出颜色/尺寸,它就会变得很容易。

完整的源代码在这里: https ://github.com/shehabic/Droppy/tree/styleable_ui

我很少有问题.. 简要地我了解到,要使您的小部件/自定义视图可样式化,您必须为此类可样式化属性定义 1-自定义视图、2-可样式属性、3-默认值。所以我有以下xml文件:

res/droppy__attr.xml

res/droppy__styles.xml

res/droppy__defaults.xml

在上面的块中,这是第一个问题,现在这是我在自定义视图中使用的代码:

DroppyMenuItem.java


根据以下行:

如果我使用该 customView 并将宽度指定为 wrap_content 或 match_parent,它可以正常工作,因为它们被转换为 -1 和 -2。但是如果将其指定为 XXdp(例如 20dp)它会失败,因为现在的数字实际上是一个浮点数而不是整数

我得到的错误如下:

E/AndroidRuntime(2940): java.lang.NumberFormatException: Invalid int: "20.0dip"

0 投票
1 回答
4890 浏览

android - Android 属性,declare-styleable,参考

我是android开发的新手,我现在正在尝试创建我的自定义视图。我遇到了很多问题。我已经解决了其中一些,但最难理解的是属性。让我们以带有属性的示例 xml 文件为例

  1. 参考格式是什么意思,我仍然无法理解这种格式是什么意思,我发现它可以与可绘制对象一起使用,我也看到可以与主题一起使用。请举一个很好的例子,它在哪里有用,这种格式类型的主要目的是什么。在前面的示例中,它用于样式,但我不明白如何在我将使用自定义视图的 xml 文件中使用它。
  1. 据我所知,每一declare-styleable name="Name of custom view"行都用于单独的自定义视图,我们可以在示例中看到这一点。但是目的是什么<declare-styleable name="ViewPagerIndicator">,我在这个库中没有找到任何具有这样名称的视图,并且这个样式包含我的第一个问题(参考属性)。

  2. 如果属性声明在 declare-stylable 之外,则意味着它在多个视图中,而不是在每个视图中重复代码,公共属性放在外面。我对吗 ?

请帮忙,我花了一天时间试图找到任何教程或文档。官方文档很差。我想很多新手会很感激解释这个话题。

请帮助理解这一点,最重要的问题是关于参考(第一个问题) <attr name="vpiCirclePageIndicatorStyle" format="reference"/>这是什么,如何使用它,它在哪里声明?

我还发现了另一个库中使用的另一个示例

我完全无法理解这一点。请帮忙,你是我最后的希望。

0 投票
3 回答
935 浏览

android - 使用用 ?attr/myAttr 标记

我试图根据 parent 在我的 View 中包含不同的布局Theme

按照思路:

attrs.xml

样式.xml

活动.xml

当我运行上面的代码时,我会得到以下异常:

我究竟做错了什么?有可能做到这一点吗?

注意#1:我将我的Theme设置MainActivityandroid:theme="@style/AppTheme"

注意#2:在布局编辑器的设计视图中,一切都按预期工作。如果我切换主题,则包含会正确更新。
另请参阅以下屏幕截图:

预览设计选项卡 android studio

0 投票
2 回答
284 浏览

android - 我的 XML 文件中缺少属性的问题

我有以下 XML 文件,其中出现此错误:

我的 XML 文件:

出现错误下面也有截图): 在此处输入图像描述

'layer_height' 和 'layout_width' 属性甚至不在 XML 中 - 这些错误甚至来自哪里?

在此处输入图像描述