I would like tablets to be able to display in portrait and landscape (sw600dp or greater), but phones to be restricted to portrait only. I can't find any way to conditionally choose an orientation. Any suggestions?
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
Following Ginny's answer, I think the most reliable way to do it is as follows:
As described here, put a boolean in resources sw600dp. It must have the prefix sw otherwise it won't work properly:
in res/values-sw600dp/dimens.xml
in res/values/dimens.xml
Then make a method to retrieve that boolean:
And a base activity to extend from the activities where you want this behaviour:
So each activity would extend BaseActivity:
Important: even if you extend from
BaseActivity
, you must add the lineandroid:configChanges="orientation|screenSize"
to eachActivity
in your AndroidManifest.xml:Well, this is a bit of late but, here is an XML-Only but a hack solution which does not recreate an activity as
setRequestedOrientation
does if has to change orientation:https://stackoverflow.com/a/27015879/1281930