我一直在嘗試在我的android應用程序中使用協調器佈局。我在協調器佈局中有應用欄佈局和嵌套滾動視圖。在我的嵌套滾動視圖中,我有一個帶有animateLayoutChanges的線性佈局爲true。Android:animateLayoutChanges無法正常使用CoordinatorLayout
我的問題是,如果將項目可視性設置爲可見,線性佈局高度的高度會增加,則線性佈局會進入應用程序佈局下。只有在單擊屏幕或滾動後,纔會發生正確的滾動效果。
我創建了一個簡單的應用程序來顯示該問題。以下是佈局。
<?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:animateLayoutChanges="true"
tools:context="testapp.test.MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:animateLayoutChanges="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:animateLayoutChanges="true"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:animateLayoutChanges="true">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show"
android:id="@+id/test_Button"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hide"
android:id="@+id/test_Button2"/>
<TextView
android:id="@+id/test_tv"
android:layout_width="match_parent"
android:layout_height="300dp"
android:visibility="gone"
android:background="@color/colorAccent"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
在這點擊顯示按鈕我使Textview可見。請看照片瞭解我的問題。
圖1-初始狀態。
圖2-這是問題所在。我點擊了Show。現在線性佈局已移動到應用欄佈局下,原因在於動畫布局更改的動畫效果。如您所見,顯示按鈕已移至應用程序欄下方。
Pic 3-現在當我觸摸屏幕或滾動時,滾動變得適當。
請幫忙。我一直在努力解決這個問題。謝謝。
謝謝。有用。 –
它像一個魅力。謝謝 – tauri