2011-07-26 24 views
6

Tôi phải sử dụng lớp nào, khi đặt LayoutParams trong số LinearLayout của mình? Hai sau đây không làm việc:ClassCastException khi thêm LayoutParams

  1. linLayout.setLayoutParams(new ViewGroup.LayoutParams(50,50));
  2. linLayout.setLayoutParams(new android.widget.LinearLayout.LayoutParams(50,50));

nếu tôi nhận được params đầu tiên, thay đổi chúng và đặt chúng trở lại nó làm việc. Vì vậy, tôi cho rằng các Params tôi nhận được trả lại kế thừa từ ViewGroup.LayoutParams ...

Bất kỳ ý tưởng? THX

Trả lời

12

Sử dụng LayoutParams của phụ huynh. Vì vậy, trong trường hợp LinearLayout của bạn là con của RelativeLayout thì bạn sử dụng

+0

crazy, thats cool :) tại sao lại sử dụng các tham số này chứ không phải tham số LinearLayout? – Frempe

+1

Tôi không biết câu trả lời chính xác, nhưng LayoutParams được sử dụng bởi các khung nhìn để nói với cha mẹ của họ cách họ muốn được đặt ra. Và đây là phụ huynh cụ thể (phụ thuộc vào kiểu Bố cục gốc). Vì vậy, cũng có khi bạn đang đúc linlayout.getLayoutParams, hãy đưa nó vào (RelativeLayout.LayoutParams) trong trường hợp này. –

+0

ah có ý nghĩa, THX! – Frempe

Các vấn đề liên quan