java - Android 可滚动布局 - 方向更改时 View 不可见

标签 java android android-layout android-view android-scrollview

我的 XML 可滚动布局(正在进行中)如下所示:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        >
    </ListView>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/tvStatus"
            android:text="0 SMS found"
            android:textSize="15sp"
            android:layout_width="120dp"
            android:layout_height="wrap_content"  />
        <Button
            android:id="@+id/btnExport"
            android:layout_width="88dp"
            android:layout_height="wrap_content"
            android:text="Export"
            />
    </LinearLayout>
</LinearLayout>
</ScrollView>

当在测试设备上以纵向模式加载应用程序时,所有 View 都会呈现并可见: portrait mode 当设备方向更改为水平时,只有布局的 ListView 部分可见(?!?): landscape mode 有人知道这里可能发生什么吗?谢谢。

最佳答案

这是您需要的布局:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
    </ListView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/tvStatus"
            android:layout_width="120dp"
            android:layout_height="wrap_content"
            android:text="0 SMS found"
            android:textSize="15sp"/>

        <Button
            android:id="@+id/btnExport"
            android:layout_width="88dp"
            android:layout_height="wrap_content"
            android:text="Export"
            />
    </LinearLayout>

</LinearLayout>

您还可以在构建布局时查看横向模式下的布局:

enter image description here

关于java - Android 可滚动布局 - 方向更改时 View 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41779520/

相关文章:

java - 在android中设计一个分数页面

java - 无法在 Windows 10 的 docker 上拉取 selenium/hub 镜像

android - animateLayoutChanges 不适用于嵌套布局?

Android使用include标签在ConstraintLayout中添加其他布局

android - 当我在 TextView 中使用 layout_width=0 时,我得到了奇怪的结果

android - 使用 AppCompat 的 SearchView

android - 像 Google Play 一样搜索编辑文本

java - JMenuBar 到 JFrame

java - 使用 ehcache 时出错

java - 从 JFileChooser 获取带引号的路径?