问题标签 [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.
android - attrs.xml 中用于自定义视图的同名属性
我正在编写一些共享一些同名属性的自定义视图。在他们各自的<declare-styleable>
部分中,attrs.xml
我想为属性使用相同的名称:
我收到一条错误消息,myattr1
并且myattr2
已经定义。我发现我应该省略format
属性 formyattr1
和myattr2
in MyView2
,但如果这样做,我会在控制台中获得以下错误:
有没有办法我可以做到这一点,也许是某种命名空间(只是猜测)?
android - 将 XML 自定义属性从自定义 UI 组件传递到自定义 UI 子组件
我有一个定制的 UI 组件,其中包含另一个定制的 UI 组件(为方便起见,将其分开)。
我希望能够将自己的属性传递给父组件,并在子组件中读取它们。这样,开发人员唯一需要看到的是父组件,而无需知道里面还有另一个组件。
例如,这是应用程序的主要布局:
父组件的 xml 如下所示:
我没有找到仅使用 XML的任何方法。有谁知道可以帮助解决这个问题的任何事情?
谢谢
android - 如何将用户定义的属性/值添加到 Android 清单文件中?
我想在清单文件中添加一个自定义属性/属性,并能够在运行时读取它。我想这样做,以便我可以通过这些清单属性自定义应用程序的行为。如何才能做到这一点?
android - 需要来自 xml 属性自定义小部件的图像 ID
我有一个自定义控件(现在非常简单),就像一个按钮。它需要显示未按下和按下的图像。它在活动中出现多次,并且根据使用的位置具有不同的图像对。想想工具栏图标 - 与此类似。
这是我的布局的摘录:
attrs.xml:
而且,在 R.java 中,人们发现:
在小部件实例化期间,我想确定活动 xml 中声明的 id。我怎么做?我已经尝试过了(我用工作代码更新了我的原始帖子;所以,以下工作。)
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 :
Set a custom LayoutInflater.Factory to the Fragment LayoutInflater in onCreateView
/li>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 !
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 方法。
有没有办法做到这一点?
android - 如何为自定义控件定义默认样式?
我有一个自定义控件,它扩展了我有自定义属性的DialogPreference,我想为它们定义默认值。
这是我attrs.xml的相关部分:
主题.xml:
样式.xml:
所以我已经定义了我希望 MyPreference 类应该有这样的默认值:
- android:positiveButtonText = "OK"
- android:negativeButtonText = "取消"
- android:dialogLayout = <引用布局>
- myAttr1 = "未知"
- myAttr2 = [1, 2, 4]
但是当我尝试访问它们时,我什么也得不到:
如果有人能解释我做错了什么,我会非常有帮助。还有为什么我不能将默认文本颜色更改为白色。
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 布局中的对象()它也不起作用!
非常感谢任何帮助、提示或经验分享!
android - 在活动或片段布局中创建android自定义列表
我正在尝试为我的应用程序创建一个 GUI,例如 对于我的状态选项卡,我尝试在相对布局中使用表布局,但它不像这个模型。但是非常糟糕
数据来自数据库,GUI 是静态的,即根据从数据库读取的数据更改值,但布局应保持不变。
我想我必须使用某种自定义列表视图。在这些碎片中。另外,我在第一个选项卡中有一个刷新操作项。
如果有人可以建议我这样做是否可行并指导我正确的方向,我将不胜感激。
仅供参考,此应用程序仅适用于 ICS 及更高版本,因此我不会使用 ActionBarSherlock 等库。
android - 主题中的 StyledAttributes 未正确加载
我向名为 font 的文本视图添加了一个自定义属性。它会自动加载自定义字体。
示例 xml:
自定义小部件在其构造函数中执行以下操作:
R.styleable.TextView 声明如下:
当一切都按上述定义时,它可以工作。变量String customFont
设置为正确的名称 (MyriadPro)。
当尝试通过样式自动应用此值时,customFont 字符串为空。
样式声明如下:
主题包含在清单中:
<item name="font"></item>
没有给出错误。自定义小部件已加载并命中断点。不过就像上面说的。如果像这样使用,'customFont' 属性在阅读后为空。
堆栈的屏幕截图:第一个(customFont 不为空)是 XML 本身包含app:font=""
属性的位置。第二个,是它不包含这个属性的地方,但是应该从样式中加载它
View 元素不同的原因是因为它们只是 2 个不同的文本视图。具有完全相同的属性。只有1个包含app:font=""
,另一个不包含。断点按我预期的顺序依次击中 1 个。
如您所见,几乎一切都是平等的。甚至 styledAttrs 后面的 ID 也是一样的。然而,如果它没有在 XML 中明确声明字体属性,它就不会被加载。
我希望有人直接看到我缺少什么联系。但我确实意识到这是一个相当模糊的问题。
请注意 com.egeniq.* 是附加到我的项目的自定义库。styles.xml 在“主项目”中声明,而 attrs.xml 来自库项目