Merge "Add fancy animation for IA fragment"

This commit is contained in:
Fan Zhang
2019-02-22 22:51:18 +00:00
committed by Android (Google) Code Review
3 changed files with 16 additions and 1 deletions

View File

@@ -44,7 +44,8 @@
<FrameLayout <FrameLayout
android:id="@+id/main_content" android:id="@+id/main_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"
android:animateLayoutChanges="true"/>
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>

View File

@@ -16,11 +16,13 @@
package com.android.settings.homepage; package com.android.settings.homepage;
import android.animation.LayoutTransition;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.util.FeatureFlagUtils; import android.util.FeatureFlagUtils;
import android.view.View; import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.Toolbar; import android.widget.Toolbar;
@@ -64,6 +66,8 @@ public class SettingsHomepageActivity extends SettingsBaseActivity {
showFragment(new ContextualCardsFragment(), R.id.contextual_cards_content); showFragment(new ContextualCardsFragment(), R.id.contextual_cards_content);
showFragment(new TopLevelSettings(), R.id.main_content); showFragment(new TopLevelSettings(), R.id.main_content);
((FrameLayout) findViewById(R.id.main_content))
.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING);
} }
private void showFragment(Fragment fragment, int id) { private void showFragment(Fragment fragment, int id) {

View File

@@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat;
import android.util.FeatureFlagUtils; import android.util.FeatureFlagUtils;
import android.view.View; import android.view.View;
import android.widget.FrameLayout;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
@@ -65,4 +66,13 @@ public class SettingsHomepageActivityTest {
assertThat(actualPaddingTop).isEqualTo( assertThat(actualPaddingTop).isEqualTo(
statusBarHeight + searchBarHeight + searchBarMargin * 2); statusBarHeight + searchBarHeight + searchBarMargin * 2);
} }
@Test
public void launch_shouldHaveAnimationForIaFragment() {
final SettingsHomepageActivity activity = Robolectric.buildActivity(
SettingsHomepageActivity.class).create().get();
final FrameLayout frameLayout = activity.findViewById(R.id.main_content);
assertThat(frameLayout.getLayoutTransition()).isNotNull();
}
} }