问题标签 [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 投票
5 回答
43614 浏览

android - attrs.xml 中用于自定义视图的同名属性

我正在编写一些共享一些同名属性的自定义视图。在他们各自的<declare-styleable>部分中,attrs.xml我想为属性使用相同的名称:

我收到一条错误消息,myattr1并且myattr2已经定义。我发现我应该省略format属性 formyattr1myattr2in MyView2,但如果这样做,我会在控制台中获得以下错误:

有没有办法我可以做到这一点,也许是某种命名空间(只是猜测)?

0 投票
1 回答
346 浏览

android - 将 XML 自定义属性从自定义 UI 组件传递到自定义 UI 子组件

我有一个定制的 UI 组件,其中包含另一个定制的 UI 组件(为方便起见,将其分开)。

我希望能够将自己的属性传递给父组件,并在子组件中读取它们。这样,开发人员唯一需要看到的是父组件,而无需知道里面还有另一个组件。

例如,这是应用程序的主要布局:

父组件的 xml 如下所示:

我没有找到仅使用 XML的任何方法。有谁知道可以帮助解决这个问题的任何事情?

谢谢

0 投票
2 回答
20398 浏览

android - 如何将用户定义的属性/值添加到 Android 清单文件中?

我想在清单文件中添加一个自定义属性/属性,并能够在运行时读取它。我想这样做,以便我可以通过这些清单属性自定义应用程序的行为。如何才能做到这一点?

0 投票
2 回答
6279 浏览

android - 需要来自 xml 属性自定义小部件的图像 ID

我有一个自定义控件(现在非常简单),就像一个按钮。它需要显示未按下和按下的图像。它在活动中出现多次,并且根据使用的位置具有不同的图像对。想想工具栏图标 - 与此类似。

这是我的布局的摘录:

attrs.xml:

而且,在 R.java 中,人们发现:

在小部件实例化期间,我想确定活动 xml 中声明的 id。我怎么做?我已经尝试过了(我用工作代码更新了我的原始帖子;所以,以下工作。)

0 投票
2 回答
4378 浏览

android - Custom XML attributes without custom View in Fragment

I'm trying to add custom XML attributes in existing View

Adding them to a custom View is not a big deal but I don't know how to access those attributes in a "basic" View (e.g. TextView, LinearLayout, ImageView ...)

And this is more difficult when there are Fragment and / or Library project involved

So far here is my code

Customs attributes definitions and XML (attrs.xml and the layout):

Since I inflate this on an Fragment (so no onCreate with attrs arg !), the only way to try to get the 2 sw custom attributes is to :

  1. Set a custom LayoutInflater.Factory to the Fragment LayoutInflater in onCreateView

    /li>
  2. Trying to get the custom attributes on the custom LayoutInflater.Factory :

    /li>

Anyone have had this kind of question ?

What I'm missing here ?

Thx in advance !

0 投票
2 回答
2094 浏览

java - 在自定义视图中应用内置的 Android 小部件样式

我已阅读并理解https://stackoverflow.com/a/5052401/305532,但是我想要的不是一般样式和覆盖单个小部件样式,而是作为子小部件一部分的样式。

说,我有一个RelativeLayout由标准EditText和标准组成的化合物Button。我可以覆盖android:buttonStyle这个样式Button,但我真正想要的是

其中 theCustomStyle可以派生自android:style/Widget.Button,但对于 的每个实例都是可变的,my.custom.Widget因为pkg:buttonStyle

我知道的唯一选择是将所有可样式化的属性单独添加到我attrs.xml的中(如果两个或多个子小部件需要相同的属性但具有不同的值,通常会发生冲突),然后手动复制/设置所有这些属性在my.custom.Widget' s 构造函数/init 方法。

有没有办法做到这一点?

0 投票
0 回答
2065 浏览

android - 如何为自定义控件定义默认样式?

我有一个自定义控件,它扩展了我有自定义属性的DialogPreference,我想为它们定义默认值。

这是我attrs.xml的相关部分:

主题.xml

样式.xml

所以我已经定义了我希望 MyPreference 类应该有这样的默认值:

  • android:positiveButtonText = "OK"
  • android:negativeButtonText = "取消"
  • android:dialogLayout = <引用布局>
  • myAttr1 = "未知"
  • myAttr2 = [1, 2, 4]

但是当我尝试访问它们时,我什么也得不到:

如果有人能解释我做错了什么,我会非常有帮助。还有为什么我不能将默认文本颜色更改为白色。

0 投票
1 回答
1287 浏览

android - Android:自定义选择器状态永远不会“真”

我已经从几个小时以来一直在努力解决这个问题,我找不到解决方案,我希望有人能帮助我。
我有一个带有扩展 BaseAdapter 的自定义适配器的 ListView,并且列表的每个元素都扩展了一个仅包含 TextView 的 LinearLayout。我基本上从如何添加自定义按钮状态开始。
这是列表元素的 list_item.xml 布局文件:

下面是BaseAdapter的相关代码:

这里是扩展 LinearLayout 的列表元素类:

这是 attrs.xml

这里有 2 个选择器尝试使用选择器 state state_playing,一个用于每个元素的 LinearLayout 的背景(item_selector.xml):

一个用于 TextView 的 textColor (item_text_selector.xml):

两者的结果是相同的:state_playing 似乎工作,但只在状态“false”,因为如果我在选择器状态列表的开头添加一行,<item app:state_playing="false" android:color="@color/yellow"/>用于文本选择器和<item android:drawable="@color/red" app:state_playing="false"/>背景选择器,一切都按预期工作,我可以看到带有红色背景的LinearLayout和带有黄色文本的文本!
我真的不知道该尝试什么了......(即使我将属性默认设置为app:state_playing="true"xml 布局中的对象()它也不起作用!

非常感谢任何帮助、提示或经验分享!

0 投票
1 回答
4404 浏览

android - 在活动或片段布局中创建android自定义列表

我正在尝试为我的应用程序创建一个 GUI,例如在此处输入图像描述 对于我的状态选项卡,我尝试在相对布局中使用表布局,但它不像这个模型。但是非常糟糕

数据来自数据库,GUI 是静态的,即根据从数据库读取的数据更改值,但布局应保持不变。

我想我必须使用某种自定义列表视图。在这些碎片中。另外,我在第一个选项卡中有一个刷新操作项。

如果有人可以建议我这样做是否可行并指导我正确的方向,我将不胜感激。

仅供参考,此应用程序仅适用于 ICS 及更高版本,因此我不会使用 ActionBarSherlock 等库。

0 投票
0 回答
300 浏览

android - 主题中的 StyledAttributes 未正确加载

我向名为 font 的文本视图添加了一个自定义属性。它会自动加载自定义字体。

示例 xml:

自定义小部件在其构造函数中执行以下操作:

R.styleable.TextView 声明如下:

当一切都按上述定义时,它可以工作。变量String customFont设置为正确的名称 (MyriadPro)。

当尝试通过样式自动应用此值时,customFont 字符串为空。

样式声明如下:

主题包含在清单中:

<item name="font"></item>没有给出错误。自定义小部件已加载并命中断点。不过就像上面说的。如果像这样使用,'customFont' 属性在阅读后为空。

堆栈的屏幕截图:第一个(customFont 不为空)是 XML 本身包含app:font=""属性的位置。第二个,是它不包含这个属性的地方,但是应该从样式中加载它

自定义字体不为空。 XML 包括 <code>app:font= 自定义字体为空。 XML 不包括 <code>app:font=

View 元素不同的原因是因为它们只是 2 个不同的文本视图。具有完全相同的属性。只有1个包含app:font="",另一个不包含。断点按我预期的顺序依次击中 1 个。

如您所见,几乎一切都是平等的。甚至 styledAttrs 后面的 ID 也是一样的。然而,如果它没有在 XML 中明确声明字体属性,它就不会被加载。

我希望有人直接看到我缺少什么联系。但我确实意识到这是一个相当模糊的问题。

请注意 com.egeniq.* 是附加到我的项目的自定义库。styles.xml 在“主项目”中声明,而 attrs.xml 来自库项目