我想在我的dimens.xml文件中定义原始资源,就像我定义边距,填充不同的屏幕方向一样。
我试过这个:
<item name="my_res" type="raw" format="string">R.raw.test</item>
但这似乎并没有起作用。
当我尝试获取该资源的id时,它不正确:
TypedValue out = new TypedValue();
getResources().getValue(R.raw.my_res, out, true);
int resId = out.resourceId;
任何建议如何
答案 0 :(得分:0)
使用Activity.getResources().getConfiguration().orientation
获取指示当前方向的ORIENTATION_PORTRAIT和ORIENTATION_LANDSCAPE值。基于此,获得适当的原始资源。
TypedValue out = new TypedValue();
int resId;
if(Activity.getResources().getConfiguration().orientation == 1) { //1 for Portrait and 2 for Landscape
getResources().getValue(R.raw.my_res, out, true);
resId = out.resourceId;
} else {
getResources().getValue(R.raw.my_res_alternate, out, true);
resId = out.resourceId;
}
做任何必要的改变,但这是主要的想法。