控件的最佳布局可能取决于手机屏幕的方向。如果我有一组复选框或单选按钮,当用户将手机垂直时,它们可以很好地堆叠在一起。但是,如果用户翻转到水平方向,最好将它们排成两个较短的并排堆叠,而不是强制用户滚动浏览。
Android是否有任何UI指南来解决是否可以针对垂直和水平方向使用不同的布局?如果有的话,如何实现使用相同的控件,即相同的ID,用于两种布局?
谢谢!
控件的最佳布局可能取决于手机屏幕的方向。如果我有一组复选框或单选按钮,当用户将手机垂直时,它们可以很好地堆叠在一起。但是,如果用户翻转到水平方向,最好将它们排成两个较短的并排堆叠,而不是强制用户滚动浏览。
Android是否有任何UI指南来解决是否可以针对垂直和水平方向使用不同的布局?如果有的话,如何实现使用相同的控件,即相同的ID,用于两种布局?
谢谢!
在使用不同的横向和纵向布局方案上是完全可以接受的。这也是Android提供了layout和layout-land文件夹来定义它们的原因。
如果对您有意义并且对用户导航更容易,那么就这样做吧。
要实现这一点,您需要在layout和layout-land文件夹中创建一个具有相同名称的xml文件。然后为每个资源指定相同的android:id。例如,一个文本视图在两个xml文件中都包含相同的id:
<TextView android:text="@string/SomeText"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
就是这么简单。