Ok, do đó, tôi kiểm tra ra http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.htmlObjectAnimator động LinearLayout rộng
Ông nói rằng bạn có thể làm động tài sản của một đối tượng trong một thời gian nhất định. Và tôi đã cố gắng di chuyển xung quanh các đối tượng và nó có vẻ tốt. Tôi gặp phải một vấn đề khi tôi thay đổi chiều rộng của LinearLayout. Tôi nhận điều này:
10-26 14:51:27.190: E/PropertyValuesHolder(12681): Couldn't find setter/getter for property width with value type float
Sau đó, tôi đã cố gắng mở rộng LinearLayout, với "myWidth"
public void setMyWidth(int myWidth) {
LinearLayout.LayoutParams params = (LayoutParams) getLayoutParams();
params.weight = myWidth;
setLayoutParams(params);
requestLayout();
this.myWidth = myWidth;
}
Không may mắn. Sau đó, tôi đã cố gắng thay đổi LayoutParams.width, hóa ra chiều rộng và chiều cao là các thuộc tính công khai duy nhất trong lịch sử java, và ObjectAnimator cần getter và setter. Không may mắn. Tôi xin lỗi khi nói rằng tôi cũng đã cố gắng mở rộng LayoutParams ... mà không có may mắn.
Bất kỳ ai đã bắt đầu làm một việc như vậy? Tôi đã sử dụng android.view.animation cũ và tôi đã có được những gì tôi muốn, nhưng tôi tò mò về tương lai.
Thật không may, tôi có một vấn đề tương tự. Thay vì làm động viên chiều rộng, tôi đã thử làm động lực cho weightSum (mà DOES có getter/setter) để đạt được hiệu quả tương tự. Có lẽ bạn có thể thử một cái gì đó tương tự để đạt được những gì bạn muốn, nhưng tôi không thể làm cho nó hoạt động: http://stackoverflow.com/questions/8341745/animating-weightsum-property-using-objectanimator. Tôi sẽ giữ cho bạn đăng nếu tôi có một số kết quả – Entreco