我可以在 android 布局包含标签上设置自定义属性吗?

Posted

技术标签:

【中文标题】我可以在 android 布局包含标签上设置自定义属性吗?【英文标题】:Can I set a custom attribute on an android layout include tag? 【发布时间】:2012-07-18 06:18:42 【问题描述】:

我正在尝试在其根为自定义视图的布局的包含标记上设置自定义属性:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:archxs="http://schemas.android.com/apk/res/com.archxs.bincalc"
    android:id="@+id/calculatorRowMenuAnchor" 
    android:layout_
    android:layout_
    android:gravity="center_vertical"
    android:visibility="gone">

    <include android:id="@+id/calculatorrowmenu_result_running"
             android:layout_
             android:layout_
             archxs:isRunningResult="true"
             layout="@layout/single_line_result" />
...

包括:

<?xml version="1.0" encoding="utf-8"?>
<com.archxs.bincalc.SmallIntegerResultView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:clickable="true">
...
</com.archxs.bincalc.SmallIntegerResultView>

但未设置自定义属性:

public SmallIntegerResultView(Context context, AttributeSet attrs) 
    super(context,attrs);
    final TypedArray styled = context.obtainStyledAttributes(attrs, R.styleable.ResultView);
    try 
        m_isRunningResult = styled.getBoolean(R.styleable.ResultView_isRunningResult, false);
     finally 
        styled.recycle();
    

这应该有效吗?如果不是为什么?如果是,我做错了什么?

谢谢大家?

【问题讨论】:

而不是给布局中的高度宽度,包括给该布局中的父级(single_line_result) 我也有同样的疑问。问题解决了吗? 【参考方案1】:

对不起,可能有点晚了,但我遇到了类似的问题:

您是否在 attrs.xml 中声明了您的自定义属性?

查看此链接以获得更多解释:custom-xml-attributes-for-android-widgets

【讨论】:

您的链接已失效 (404) 对不起,已经很久了,我完全忘记了我是怎么做到的,我想这样做的方式也改变了

以上是关于我可以在 android 布局包含标签上设置自定义属性吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android:创建自定义视图并将其动态添加到布局中

怎么自定义android 下拉刷新动画

标签显示超出我的自定义 TableViewCell 范围并通过 swift 设置自动布局

使用 Storyboard 实现自定义视图布局

在 EXTJS 4 中为表单布局设置自定义标签长度

Android将自定义适配器设置为viewPager