Skip to content

Instantly share code, notes, and snippets.

@guuilp
Created June 8, 2017 00:29
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guuilp/85dca2bca2a89d9432674fdb37a01ca9 to your computer and use it in GitHub Desktop.
Save guuilp/85dca2bca2a89d9432674fdb37a01ca9 to your computer and use it in GitHub Desktop.
Change height animation on CardView
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="original_card_view_height">200dp</dimen>
<dimen name="new_card_view_height">500dp</dimen>
</resources>
public class MainActivity extends AppCompatActivity {
private CardView cardView;
private Boolean isCollapsed = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cardView = (CardView) findViewById(R.id.card_view);
final int originalDimension = Math.round(getResources().getDimension(R.dimen.original_card_view_height));
final int newDimension = Math.round(getResources().getDimension(R.dimen.new_card_view_height));
cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isCollapsed){
TransitionManager.beginDelayedTransition(cardView, new TransitionSet()
.addTransition(new ChangeBounds()));
ViewGroup.LayoutParams params = cardView.getLayoutParams();
params.height = newDimension;
cardView.setLayoutParams(params);
isCollapsed = false;
} else {
TransitionManager.beginDelayedTransition(cardView, new TransitionSet()
.addTransition(new ChangeBounds()));
ViewGroup.LayoutParams params = cardView.getLayoutParams();
params.height = originalDimension;
cardView.setLayoutParams(params);
isCollapsed = true;
}
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment