Для моего приложения мне нужно зафиксировать ориентацию на портрет на телефонах и разрешить портрет и пейзаж на планшетах. Я просмотрел ответы here, но я хочу попытаться сделать то же самое с помощью xml. я попытался добавить следующую строку в моем манифестеДеятельность не правильная ориентация
<activity
android:theme="@style/Theme.ActionBarLargeTitle"
android:name="com.work.activities.MyActivity"
android:screenOrientation="@integer/orientation_supported"
android:exported = "false"/>
В разрешении/значение/dimens.xml я добавил следующую строку (1 соответствует портрету)
<integer name="orientation_supported">1</integer>
я создал еще один файл, Рез /values-sw600dp/dimens.xml, в котором я добавил (-1 соответствует неопределенные)
<integer name="orientation_supported">-1</integer>
на телефоне этот код работает отлично, и активность всегда находится в портретном режиме. На Nexus 10" Tablet (ширина 800dp) это не удается, и она фиксируется в портретном режиме Есть что-нибудь не так с этим подходом
EDIT:.? Я проверил с различными значениями и во всех случаях (во всех устройствах) значение полученное из res/values / dimens.xml. Если это значение отсутствует, появляется ошибка, когда приложение установлено «Ошибка установки: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION».
Вы добавили экраны поддержки в манифесте http://developer.android.com/guide/topics/manifest/supports-screens-element.html – Raghunandan
также проверьте это. http://developer.android.com/guide/practices/screens_support.html. Я не понимаю, что вы делаете с res/values-sw600dp/dimens.xml. В документе указывается, что вам необходимо предоставить различные чертежи и макеты. – Raghunandan
Во всех случаях нет необходимости иметь разные макеты. Мой пользовательский интерфейс имеет ту же компоновку на планшете и телефоне, но с различными размерами. – yagnasri