我正在开发一个布局结构如下的应用程序 -
活动A - 此活动是一个选项卡布局活动,它使用viewpager作为选项卡,代码如下所示。
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_marginTop="24dp"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
添加到viewpager的片段具有所有选项卡的通用布局,代码如下所示。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:background="@color/background_app"
tools:context="com.peacecorps.pcsa.safety_tools.SafetyPlanActivity">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/primary_text_default_material_dark"
android:textSize="20sp"
android:textStyle="bold"
android:text="@string/safety_plan_subtitle"/>
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/safety_plan_pager"
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="320dp" />
<Button
android:id="@+id/actionButton"
style="@style/NavigateButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="15sp"
android:text="@string/see_action"
android:layout_marginTop="10dp" />
</LinearLayout>
正如您所看到的,此片段再次包含一个viewpager。此viewpager将始终由下面的片段填充。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include android:id="@+id/text_to_show"
layout="@layout/textview"/>
</ScrollView>
textview是
<?xml version="1.0" encoding="utf-8"?>
<!--This is the common layout used for TextViews-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/primary_text_default_material_dark"
android:textSize="@dimen/abc_text_size_medium_material"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_textview_rounded_rectangle"
android:padding="@dimen/textview_padding"
android:scrollbars="vertical"
android:fadeScrollbars="false"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:autoLink="web|email"
android:textColorLink="@color/text_color_link"
/>
此处textview包含不同数量的文本,这些文本在java中针对不同的选项卡动态设置。 我面临的问题是,只有部分UI可以在横向模式下使用,而有些部分丢失了,这也是不可滚动的。请帮助我,我坚持了很长时间。
答案 0 :(得分:0)
您遇到的问题是因为您有2 滚动行为 。当手机处于 纵向模式 时,它有足够的空间,320dp高度 ViewPager 赢了能够占用所有可用空间,但当手机处于 横向模式 320dp高度 ViewPager 将占用整个屏幕所以布局只会滚动第二个视图寻呼机,这意味着 横向模式 上的整个屏幕只能访问第二个 ViewPager 即可。
请记住,底部的那些是第一个被访问的。这意味着底部的 视图 具有更高的 z-index - 代码参考不是实际的图。