2015-07-13 4 views
0

Я хотел бы определить исходные ресурсы в моем файле dimens.xml, как я определяю поля, отступы для разных ориентаций экрана.Ссылка на другой исходный ресурс в зависимости от ориентации экрана

Я попытался это:

<item name="my_res" type="raw" format="string">R.raw.test</item>

Но не кажется, что работает.

Когда я пытаюсь извлечь идентификатор этого ресурса, не исправить:

TypedValue out = new TypedValue(); 

    getResources().getValue(R.raw.my_res, out, true); 
    int resId = out.resourceId; 

Любые предложения, как хань

ответ

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; 
} 

Выполнение любых необходимых изменений, но это основная идея.

Смежные вопросы