问题标签 [android-custom-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 投票
0 回答
1505 浏览

android - 在预览布局中使用自定义视图中的自定义属性

我使用 Android Studio 并创建了我的自定义视图:

此外,我还定义了以下自定义属性

我使用自定义属性在构造函数中定义日期图块的标签和背景,如下所示。

在另一个 XML 中使用日期图块时,我收到此错误:

该应用程序运行良好,但预览不会。有没有办法加载自定义属性以显示自定义属性的预览?

0 投票
1 回答
593 浏览

android - Android中的安全枚举自定义属性

我有一个我认为很常见的情况。我有一个 Java 枚举:

我在 attrs.xml 中定义了一个自定义属性:

但这感觉真的很脆弱。它依赖于我手动正确地从属性映射到枚举。

如果有人将“SARDINE”添加到枚举 Flavor 的末尾,那么它显然不会自动添加到属性定义中。这很公平。

但更糟糕的是,如果有人在枚举中间添加“SARDINE”,则会破坏使用“草莓”的 xml 布局。

人们如何克服这一点?我考虑过使用字符串(和使用Flavour.valueOf()),但我希望那里可能有一个更清洁的解决方案。

0 投票
5 回答
11698 浏览

android - 使用obtainStyledAttributes获取多个样式属性

我试图android从我的代码中获取命名空间的几个样式属性。在这里我附上相关的摘录。AttributeSet attrs是传递给任何 custom 的参数TextView

我的问题是我想阅读 4 个属性,在int[] ATTRS. 如您所见,我已将textSize其作为该数组的第一个元素。原因很简单——如果我将它交换到数组中的第二位,则它的值不会被正确读取(而是加载了提供的默认值)。另一方面,文本正确加载到ATTRS我放置它的数组中的任何位置。我不敢尝试 和 的位置偏好gravitytextColor但是通过这种排列它们不起作用。

有人可以解释为什么获取属性的可用行为吗?

0 投票
2 回答
4414 浏览

android - 在 Android 中,如何使用 new Button() 设置自定义属性?

我正在使用以下方法声明一个按钮:

我需要添加一个将在单击时使用的自定义属性。

有没有办法做到这一点?

0 投票
0 回答
33 浏览

android - 启动器是否可以在没有媒体服务器的情况下在 android 中工作?

嗨,我正在尝试在没有媒体服务器的情况下构建 android,但在输出启动器时遇到了问题。我想确认我们是否可以在没有媒体服务器的情况下使用启动器?虽然我知道我不能在其中播放音频,但我只是想得到它。请问有什么建议吗?

0 投票
1 回答
1230 浏览

android - SelectableItemBackground 不适用于操作栏样式

我正在尝试更改操作栏上可操作项的命中状态颜色。在我的 nexus 7 (4.3) 上,命中状态的默认颜色是绿松石蓝色。在我的 nexus 4 (4.4) 上,命中状态是 holo_light。即使在将“android:selectableItemBackground”设置为 holo_light 之后,我在我的 nexus 7 上看到按钮按下时的绿松石蓝色。

这是我正在使用的代码。

自定义选择器的 xml 是

有人可以指出我在这里缺少什么吗?

0 投票
0 回答
552 浏览

android - Robolectric - custom view returning null attributes - how to use ShadowTypedArray?

I am new to Robolectric and I am trying to test the text from a custom button. My custom button is a RelativeLayout composed from a Button and a ProgressBar. When I run the application, the text from custom attributes is correctly set to the button. But when I use Robolectric, the text is null.

Searching I have found this: Robolectric TypedArray getString() returns null or empty string but there is little information about how should I use the ShadowTypedArray.

From Robolectric site they say: you would annotate the test in question with @Config(shadows={MyShadowBitmap.class})

but this does not work for me:

Should I create a ShadowCustomProgressButton or what I am doing wrong? Thanks.

0 投票
2 回答
2496 浏览

android - 在我的情况下使用库项目中的自定义视图

我制作了一个 Android主库项目,其中我创建了一个自定义视图类:

我还为我定义了 styleableCustomView

由于我不想将我的源代码分享给正在使用我的库项目的其他人,所以我创建了一个分布式库项目,其中我将上述主库项目的 jar 添加到分布式库项目libs/的文件夹中,并从主库项目分布式库项目

接下来,我制作了一个使用分布式库项目的android 应用程序项目。在 app 项目的主布局文件中,我定义了以下内容:

当我运行我的应用程序时,出现以下异常:

似乎它不能膨胀 my CustomViewin layout xml。为什么?如何摆脱它?

(我检查了主库jar文件,有CustomView类。请不要随便给我一个Android网站的链接而不解释。)

0 投票
4 回答
3230 浏览

android - 如何在自定义 TextView 中使用命名空间“android”获取属性

在自定义TextView中,我试图获取text属性的值(例如)。

但我收到此错误消息:

包 com.android.internal.R 不存在

那么如何检索 TextView 的“默认”属性呢?

0 投票
2 回答
1852 浏览

runtime - 在Android中,可以在运行时更改自定义属性的值吗?

我知道可以在 xml 上设置自定义属性及其值,但是,可以稍后在运行时更改该值吗?

我有这个xml:

我想在运行时将 example:state_valid 更改为 true 或 false。