Android 横向和纵​​向模式变体

Posted

技术标签:

【中文标题】Android 横向和纵​​向模式变体【英文标题】:Android Landscape and Portrait Modes variation 【发布时间】:2010-12-09 10:19:41 【问题描述】:

大家好 我正在 android 2.2 中制作应用程序 它的布局有一些线性布局的文本字段,以及页面底部的一些图像按钮。 它在纵向视图上的视图是完美的,但是现在当我通过按 CTRL+F11 转到横向视图时,它的底部图像按钮不显示..只是因为横向屏幕尺寸与纵向屏幕尺寸不同。

我想要通过代码指导我,如果我的手机进入横向模式,它会检查其模式并更改按钮的位置,以便图像按钮应该可见。

请朋友们帮帮我..

等待您的积极回应和指导.. 提前致谢

【问题讨论】:

【参考方案1】:

在项目的 res 文件夹中创建一个名为“layout-land”的子文件夹。将您的 protrait 布局 xml 文件复制到该文件夹​​并根据您的景观需要对其进行编辑。现在每次更改设备的方向时都会自动调整布局。就这么简单

【讨论】:

Thnks Steff,我想知道 android 会自动读取横向模式的 layout-land 文件夹,或者我需要明确帮助 android 以便它可以转到该文件夹​​进行横向视图。请回复【参考方案2】:

除了@Steff 推荐的内容,让我补充一点。在您创建了 layout-land 文件夹并创建了 XML 之后,您可能会考虑将您的布局元素封装在 ScrollView 中。我有一个类似的问题,这个解决方案对我来说很完美。这是一个代码sn-p:

<LinearLayout
    android:layout_
    android:layout_
    android:orientation="horizontal"
    android:layout_weight="1"   >
    <ScrollView
        android:id="@+id/ScrollView01"
        android:layout_
        android:layout_
        android:layout_weight="1" >
        <LinearLayout
            android:orientation="vertical"
            android:layout_
            android:layout_>
            <LinearLayout
                android:layout_
                android:layout_
                android:orientation="vertical"
                android:padding="3dp"   >
                <TextView
                    android:layout_
                    android:layout_
                    android:textStyle="bold"
                    android:text="NAME"
                    android:padding="3dp"
                    android:textColor="#666666"
                    android:textSize="16sp" >
                </TextView>
                <TextView
                    android:text="Name"
                    android:layout_
                    android:layout_
                    android:id="@+id/summaryContactName"
                    android:padding="3dp"
                    android:textColor="#111111"
                    android:textSize="17sp" >
                </TextView>
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

您放置在 ScrollView 下的所有元素都将确保屏幕内容永远不会被截断。

希望对你有帮助。

【讨论】:

ScrollView 来救援!我选择暂时不做单独的横向布局,只依赖 ScrollView 显示一切。

以上是关于Android 横向和纵​​向模式变体的主要内容,如果未能解决你的问题,请参考以下文章

如何在情节提要中为 iPad 横向和纵​​向模式将不同的框架设置为相同的视图?

HTML/CSS - 横向和纵​​向选项

iOS 横向和纵​​向委托混淆

如何在横向模式下制作 UI

在 Android 中播放 RTSP 流视频时如何保持宽高比?

IOS AutoLayout在横向和纵向之间切换时出现约束异常