0

这是我的属性:

<attr name="taskTimePickerLayout" format="reference" />

以下是在themes.xml 中的设置方式:

<item name="taskTimePickerLayout" type="reference">@layout/task_time_picker_holo</item>

我想使用 attr 中的布局来膨胀布局,我该怎么做?我尝试将R.attr.taskTimePickerLayout其用作充气机的资源,但这会引发 ResourceNotFoundException。

4

1 回答 1

1

将这段代码放入您的活动(或片段)中:

TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.taskTimePickerLayout, typedValue, true);
setContentView(typedValue.resourceId);

确保在执行此代码之前将主题应用于 Activity。

这段代码的基本作用是根据应用于当前上下文的主题解析参考 R.attr.taskTimePickerLayout。typedValue.resourceId 是解析引用的值(在本例中为 @layout/task_time_picker_holo 的布局 id)。这也适用于所有其他参考(可绘制、颜色等)

于 2013-02-22T02:28:46.607 回答