这是我的attr:
<attr name="taskTimePickerLayout" format="reference" />
以下是在themes.xml中设置的方式:
<item name="taskTimePickerLayout" type="reference">@layout/task_time_picker_holo</item>
我想使用attr中的布局来扩充布局,我该怎么做?我尝试使用R.attr.taskTimePickerLayout
作为inflater的资源,但是抛出了ResourceNotFoundException。
答案 0 :(得分:1)
将这段代码放入您的Activity(或片段)中:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.taskTimePickerLayout, typedValue, true);
setContentView(typedValue.resourceId);
确保在执行此代码之前将主题应用于Activity。
此代码基本上做的是根据应用于当前Context的主题解析引用R.attr.taskTimePickerLayout。 typedValue.resourceId是已解析引用的值(在本例中为@ layout / task_time_picker_holo的布局ID)。 这也适用于所有其他参考(绘图,颜色等)