Есть ли способ поместить значения, определенные в манифесте, такие как Activity screenOrientation, в файл xml ресурса?
Например, атрибут Activity screenOrientation может иметь такие значения, как «портрет», «ландшафт» и т. Д.'
Ну, эти значения постоянны после определения.Если я хочу иметь разные значения для телефонов и планшетов, например, «портрет» для телефонов, в то время как для таблиц я хочу, чтобы это было «датчик», как это можно сделать?Я не хочу устанавливать это в коде.
В конце эти значения являются целочисленными константами, и их можно найти здесь: https://developer.android.com/reference/android/content/pm/ActivityInfo
Поэтому я подумал, что, возможно, я смогу определить два файла, integer.xml для телефонов и целых чисел.w400dp.xml для больших экранов, затем определите атрибут как
<integer name="orientation">portrait</integer> //for phones in the integers.xml
<integer name="orientation">sensor</integer> //for tablets in the integers-w400dp.xml
Затем в манифесте, к которому я могу обратиться к ним, сделайте так:
android:screenOrientation="@integer/orientation" //This actually accepted with no error
Однако целое число xml не будетt принимает значения «портрет» или «датчик», и вместо этого я должен указать их числовые значения следующим образом:
<integer name="orientation">1</integer> //For portrait
<integer name="orientation">4</integer> //For sensors
Я считаю, что это будет работать, но я не хочу использовать жестко закодированные значения, поскольку они могут измениться.между уровнем API.
Я пытался добавить xmlns в файл ресурсов (те же ns, что и в манифесте), но это не сработало.
* Отредактировано * В нижней части, этот вопрос о том, как заблокировать Activity для портрета на телефонах, а НЕ для блокировки его на планшетах, но делать это из XML, а не из кода,
Любая идея будет оценена.