DefaultLayoutAnimations should use GridLayout instead.

The 2-LinearLayout system the demo used to have had its quirks, but was
just plain awful once it ran on a smaller screen. The new GridLayout
makes for a much better experience.

Change-Id: Ie3fd65e125c82da8b0079f61bd91bf844dea9b03
This commit is contained in:
Chet Haase
2011-09-11 13:20:35 -07:00
parent 1bc31fe7e0
commit e68d53fd04
2 changed files with 9 additions and 27 deletions

View File

@@ -24,18 +24,11 @@
android:text="Add Button" android:text="Add Button"
android:id="@+id/addNewButton" android:id="@+id/addNewButton"
/> />
<LinearLayout <GridLayout
android:orientation="horizontal" android:columnCount="4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/horizontalContainer"
android:animateLayoutChanges="true"
/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:id="@+id/verticalContainer" android:id="@+id/gridContainer"
android:animateLayoutChanges="true" android:animateLayoutChanges="true"
/> />
</LinearLayout> </LinearLayout>

View File

@@ -21,11 +21,11 @@ package com.example.android.apis.animation;
import com.example.android.apis.R; import com.example.android.apis.R;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.app.Activity; import android.app.Activity;
import android.os.Bundle; import android.os.Bundle;
import android.widget.Button; import android.widget.Button;
import android.widget.GridLayout;
/** /**
* This application demonstrates how to use the animateLayoutChanges tag in XML to automate * This application demonstrates how to use the animateLayoutChanges tag in XML to automate
@@ -35,36 +35,25 @@ public class LayoutAnimationsByDefault extends Activity {
private int numButtons = 1; private int numButtons = 1;
/** Called when the activity is first created. */
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.layout_animations_by_default); setContentView(R.layout.layout_animations_by_default);
final ViewGroup horizontalContainer = (ViewGroup) findViewById(R.id.horizontalContainer); final GridLayout gridContainer = (GridLayout) findViewById(R.id.gridContainer);
final ViewGroup verticalContainer = (ViewGroup) findViewById(R.id.verticalContainer);
Button addButton = (Button) findViewById(R.id.addNewButton); Button addButton = (Button) findViewById(R.id.addNewButton);
addButton.setOnClickListener(new View.OnClickListener() { addButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { public void onClick(View v) {
Button newButton = new Button(LayoutAnimationsByDefault.this); Button newButton = new Button(LayoutAnimationsByDefault.this);
newButton.setText("Click To Remove " + (numButtons++)); newButton.setText(String.valueOf(numButtons++));
newButton.setOnClickListener(new View.OnClickListener() { newButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { public void onClick(View v) {
horizontalContainer.removeView(v); gridContainer.removeView(v);
} }
}); });
horizontalContainer.addView(newButton, Math.min(1, horizontalContainer.getChildCount())); gridContainer.addView(newButton, Math.min(1, gridContainer.getChildCount()));
newButton = new Button(LayoutAnimationsByDefault.this);
newButton.setText("Click To Remove " + (numButtons++));
newButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
verticalContainer.removeView(v);
}
});
verticalContainer.addView(newButton, Math.min(1, verticalContainer.getChildCount()));
} }
}); });
} }