6
A
답변
18
Heey 아미고,
내 코드를 테스트 한 후, 나는 작은 문제를 보았다. 왜냐하면 나는 "scaleY"
을 사용했기 때문에 뷰를 "확장"합니다. 즉,보기에 텍스트 나 무언가가 있으면 스트레칭되어 멋지게 보일 것입니다. 대신, 그 작품을 더 부드럽게 ValueAnimator
으로 시도
public void onClick(View v)
{
if(!isBig){
ValueAnimator va = ValueAnimator.ofInt(100, 200);
va.setDuration(400);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = (Integer) animation.getAnimatedValue();
v.getLayoutParams().height = value.intValue();
v.requestLayout();
}
});
va.start();
isBig = true;
}
else{
ValueAnimator va = ValueAnimator.ofInt(200, 100);
va.setDuration(400);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = (Integer) animation.getAnimatedValue();
v.getLayoutParams().height = value.intValue();
v.requestLayout();
}
});
va.start();
isBig = false;
}
}
는 XML :
<RelativeLayout
android:layout_width="150dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:background="@android:color/holo_red_dark"
android:onClick="onButtonClick"
android:clickable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="My Layout"/>
</RelativeLayout>
올드 대답 당신은 pivotY(0)
그래서 그것은 단지에 이동 설정 만 remeber의 ObjectAnimator을 사용할 수 있습니다 바닥. 그것을 당신 자신의 요구에 맞춰 직접 연주하십시오 :)
private boolean isBig = false;
...
public void onClick(View v)
{
v.setPivotY(0f);
if(!isBig){
ObjectAnimator scaleY = ObjectAnimator.ofFloat(v, "scaleY", 2f);
scaleY.setInterpolator(new DecelerateInterpolator());
scaleY.start();
isBig = true;
}
else{
ObjectAnimator scaleY = ObjectAnimator.ofFloat(v, "scaleY", 1f);
scaleY.setInterpolator(new DecelerateInterpolator());
scaleY.start();
isBig = false;
}
}
관련 문제
- 1. 레이아웃을 프로그래밍 방식으로 작동시키는 방법
- 2. 레이아웃을 프로그래밍 방식으로 설정하는 방법
- 3. 프로그래밍 방식으로 서랍 레이아웃을 애니메이션으로 열 수 있습니까?
- 4. 배열을 프로그래밍 방식으로 애니메이션으로 채우기
- 5. JMenuItem ActionListener를 사용하여 프로그래밍 방식으로 Swing 개체의 레이아웃을 변경하는 방법
- 6. 프로그래밍 방식으로 TabBarViewController에서보기를 변경하는 방법?
- 7. 프로그래밍 방식으로 iOS에서보기를 변경하는 방법
- 8. 프로그래밍 방식으로 레이아웃을 디자인하는 방법, android?
- 9. 프로그래밍 방식으로 DialogFragment 레이아웃을 만드는 방법
- 10. 프로그래밍 방식으로 프로그래밍 방식으로 웹 사이트 기본 문서를 변경하는 방법
- 11. 프로그래밍 방식으로 안드로이드 디자인 레이아웃을
- 12. 선형 레이아웃을 안드로이드에 프로그래밍 방식으로 다른 선형 레이아웃을 넣는 방법
- 13. Mac OS X 키보드 레이아웃을 프로그래밍 방식으로 변경하는 방법은 무엇입니까?
- 14. PowerPoint에서 프로그래밍 방식으로 슬라이드 레이아웃을 변경하는 방법은 무엇입니까?
- 15. log4j2에서 Appender 레이아웃을 프로그래밍 방식으로 변경하는 방법은 무엇입니까?
- 16. iOS에서 프로그래밍 방식으로 uiview 레이아웃을 변경하십시오.
- 17. collapsingToolbarLayout 높이 프로그래밍 방식으로 설정
- 18. 프로그래밍 방식으로 NSProgressIndicator의 높이 변경
- 19. 동적 높이 UIImageViews를 프로그래밍 방식으로 프로그래밍 방식으로 작성
- 20. 프로그래밍 방식으로 사용자 정의 레이아웃을 프로그래밍 방식으로 만들려면
- 21. 프로그래밍 방식으로 Textview 높이 및 너비를 변경하십시오.
- 22. iPad에서 배경 화면을 프로그래밍 방식으로 변경하는 방법
- 23. Android보기 layout_width - 프로그래밍 방식으로 변경하는 방법?
- 24. 프로그래밍 방식으로 끝점의 ID 구성을 변경하는 방법?
- 25. ipad에서 화면 해상도를 프로그래밍 방식으로 변경하는 방법
- 26. 프로그래밍 방식으로 현재 입력 키보드를 변경하는 방법
- 27. wso2 cep - 프로그래밍 방식으로 쿼리를 변경하는 방법
- 28. ActionBar의 MenuItem 아이콘을 프로그래밍 방식으로 변경하는 방법
- 29. Magento에서 프로그래밍 방식으로 제품 가시성을 변경하는 방법
- 30. GridView의 열 너비를 프로그래밍 방식으로 변경하는 방법
tnx bebé ......;) –
답변을 업데이트했습니다. 'ValueAnimator'를 대신 사용하십시오.보기/레이아웃 안에 텍스트 나 다른 것이 있으면 더 잘 작동합니다. –