Java 将视图寻呼机定位在“坐标布局”下的“表格布局”下方
我在CoordinatorLayout中有一个Appbar、TableLayout和一个ViewPager。但是ViewPager总是与屏幕上的其他视图重叠,除非我指定了除“MatchParent”或“WrapContent”之外的确切高度。我尝试了几种方法,但除了根据屏幕大小动态设置高度外,其他方法都不管用。我想知道!在xml本身中必须有某种方法来实现这一点Java 将视图寻呼机定位在“坐标布局”下的“表格布局”下方,java,android,android-xml,android-coordinatorlayout,Java,Android,Android Xml,Android Coordinatorlayout,我在CoordinatorLayout中有一个Appbar、TableLayout和一个ViewPager。但是ViewPager总是与屏幕上的其他视图重叠,除非我指定了除“MatchParent”或“WrapContent”之外的确切高度。我尝试了几种方法,但除了根据屏幕大小动态设置高度外,其他方法都不管用。我想知道!在xml本身中必须有某种方法来实现这一点 <?xml version="1.0" encoding="utf-8"?> <android.support.des
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/logocolor"
android:id="@+id/appbar"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar1"
android:layout_height="match_parent"
android:layout_width="match_parent"
app:title="FlashBook"
app:titleTextColor="@color/whitetish"
app:layout_scrollFlags="scroll|enterAlways|snap"
/>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentStart="true"
android:background="@color/logocolor"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom"
android:layout_gravity="bottom">
</android.support.design.widget.TabLayout>
<include
layout="@layout/viewpager_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_anchor="@id/tablayout"
app:layout_anchorGravity="bottom"
android:layout_gravity="bottom"
>
</include>
</android.support.design.widget.CoordinatorLayout>
这是我的活动布局和
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/viewpagermain"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="@layout/activity_appbartestactvity"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v4.view.ViewPager>
这是viewpager_布局。尝试将
viewpager
直接添加为协调布局子项:
<android.support.v4.view.ViewPager
android:id="@+id/viewpagermain"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
另外,最好在AppBarLayout
内部和工具栏下使用TabLayout
要使其可滚动,请添加:app:layout\u scrollFlags=“scroll | enterally”
要在折叠后粘贴到该位置,请添加:app:layout\u collapseMode=“pin”
addapp:layout\u behavior=”“
以将布局包含在协调布局中。尝试过,但没有成功!在我的例子中,将布局行为添加到标记没有效果。但我通过直接添加视图寻呼机进行了测试,而没有添加布局行为。它将如何使viewPager位于应用程序栏下方,而不是TableAyout。我想把它放在桌子下面。你想把桌子放在那里还是可以折叠?将其添加到工具栏下(作为AppBarLayout
子项),并赋予其重力:底部,然后,为了在折叠后保持在那里,添加app:layout\u collapseMode=“pin”
,并在折叠时添加:app:layou\u scrollFlags=“scroll | enterally”
。是的。在AppBarLayout中添加TabLayout解决了这个问题。谢谢你,伙计。!
app:layout_behavior="@string/appbar_scrolling_view_behavior"