Tôi đang cố gắng "animate" một WebView để thả xuống và tiết lộ nội dung của nó. Tôi đã viết một xử lý để tăng chiều cao của 1 mỗi lần, tuy nhiên, tôi đang chạy vào một ClassCastException. Mã tôi sử dụng là:thay đổi lập trình chiều cao bố cục, ClassCastException?
WebView.LayoutParams params = new WebView.LayoutParams(wv.getLayoutParams());
params.height = height;
wv.setLayoutParams(params);
height++;
this.sleep(20);
Trên wv.setLayoutParams dòng (params), tôi nhận được một:
java.lang.ClassCastException: android.widget.AbsoluteLayout$LayoutParams
Làm thế nào để sửa lỗi này?
Bất kỳ manh mối nào về lý do tại sao Android được lập trình theo cách này chứ không phải chỉ là một lớp LayoutParams duy nhất cho tất cả ViewGroups? Việc triển khai hiện tại có vẻ như một trong những khía cạnh kém thanh lịch của Android. – satur9nine
Bởi vì tất cả bố cục không hỗ trợ các tính năng tương tự. Có một lớp LayoutParams duy nhất có nghĩa là chúng tôi sẽ sử dụng một số loại bản đồ hoặc nhồi nhét tất cả các tính năng bố cục có thể có trong đó. Nó không tốt hơn :) –
Cá nhân tôi thích "sử dụng một số loại bản đồ" tùy chọn tốt hơn vì nó ẩn chi tiết thực hiện :) – satur9nine