如何为横向设置一个布局,为纵向设置一个?当用户将手机侧向旋转时,我想假设额外的宽度并节省垂直空间。
答案 0 :(得分:209)
默认情况下,/res/layout
中的布局同时应用于纵向和横向。
如果你有例如
/res/layout/main.xml
您可以添加新文件夹/res/layout-land
,将main.xml
复制到其中并进行必要的调整。
另请参阅http://www.androidpeople.com/android-portrait-amp-landscape-differeent-layouts和http://www.devx.com/wireless/Article/40792/1954以获取更多选项。
答案 1 :(得分:67)
在当前版本的Android Studio(v1.0.2)中,您可以通过单击下面屏幕截图中显示的可视化编辑器中的按钮来添加横向布局。选择“创建景观变化”
答案 2 :(得分:42)
除非您另行指定,否则/ res / layout中的布局将应用于纵向和横向。假设我们的主页有/res/layout/home.xml,我们希望它在2种布局类型中看起来不同。
答案 3 :(得分:2)
您可以按照以下方式将特定布局分组到正确的文件夹结构中。
布局土地target_version
即
layout-land-19 //定位KitKat
同样可以创建布局。
希望这会对你有所帮助
答案 4 :(得分:0)
Android Studio 3.x.x的最快方法
1。转到活动布局的设计标签
2。在顶部,您应按
答案 5 :(得分:0)
我会尽快解释。
首先,您可能会注意到,现在您应该按照Google的要求使用ConstraintLayout(请参阅androix库)。
在android studio projet中,您可以通过创建其他res / layout /目录来提供特定于屏幕的布局。一种用于需要不同布局的每种屏幕配置。
这意味着在两种情况下都必须使用目录限定符:
因此,这是一个示例:
res/layout/main_activity.xml # For handsets
res/layout-land/main_activity.xml # For handsets in landscape
res/layout-sw600dp/main_activity.xml # For 7” tablets
res/layout-sw600dp-land/main_activity.xml # For 7” tablets in landscape
您还可以将限定符与使用dimens.xml的res资源文件一起使用。
res/values/dimens.xml # For handsets
res/values-land/dimens.xml # For handsets in landscape
res/values-sw600dp/dimens.xml # For 7” tablets
res / values / dimens.xml
<resources>
<dimen name="grid_view_item_height">70dp</dimen>
</resources>
res / values-land / dimens.xml
<resources>
<dimen name="grid_view_item_height">150dp</dimen>
</resources>
your_item_grid_or_list_layout.xml
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content
<ImageView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="@dimen/grid_view_item_height"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@drawable/border"
android:src="@drawable/ic_menu_slideshow">
</androidx.constraintlayout.widget.ConstraintLayout>
来源:https://developer.android.com/training/multiscreen/screensizes