Tôi đang tự động thêm chế độ xem vào bố cục tương đối và định nghĩa chúng theo cách lập trình. Các khung nhìn có thể được di chuyển xung quanh màn hình để vị trí của chúng thay đổi.Đặt chế độ xem động với cài đặt LayoutParams.addRule đến vị trí cuối cùng của chế độ xem
Khi tôi cố gắng đặt chế độ xem (button2) để ngồi bên dưới một chế độ xem khác (button1), button2 được đặt ở vị trí cũ của button1 (vị trí mặc định nơi lượt xem được thêm trước khi di chuyển). Tôi đã liên kết hình ảnh để hy vọng truyền đạt điều này tốt hơn.
Đây là Layout gốc
Layout sau Button2 được tái định vị
Tôi có một nền LinkedList giữ theo dõi tất cả những thay đổi quan điểm và xem thuộc tính cho cách bố trí nếu mà làm cho một sự khác biệt.
Sau đây là các chức năng mã:
Làm thế nào tôi lại vị Button1:
Buttons b = (Buttons) viewIndex;
positioningLayout = new RelativeLayout.LayoutParams(b.getLayoutParams());
positioningLayout.addRule(RelativeLayout.CENTER_VERTICAL);
b.setLayoutParams(positioningLayout);
baseLayout.addView(b);
tái định vị xem bên dưới một đoạn xem Code:
Buttons b = (Buttons) viewIndex;
positioningLayout = new RelativeLayout.LayoutParams(b.getLayoutParams());
positioningLayout.addRule(RelativeLayout.BELOW, viewIdFromList.intValue());
b.setLayoutParams(positioningLayout);
b.invalidate();
Làm thế nào tôi thêm các chế độ xem cho bố cục.
uiList.addView(new Buttons(this), "BUTTON");
setDialogView(uiList.getLast());
showDialog(SET_ID);
reloadUI();
setDialogView chỉ chuyển giao ID tới chế độ xem (để kiểm tra) theo cách thủ công. reloadUI() chỉ tìm thấy khung nhìn cuối cùng được thêm vào nền LinkedList và thêm nó vào relativeLayout bằng cách sử dụng .addView;
Nếu bạn cần thêm mã, vui lòng cho tôi biết. Tôi có thiếu cuộc gọi để cập nhật bố cục chế độ xem sau khi thực hiện thay đổi đối với chế độ xem con tương đối không? Nó có vẻ như xem là nhận được vị trí trực quan nhưng LayoutParams thực tế không cập nhật vì vậy khi bạn đặt Button2 to Button1 nó nhận được vị trí cũ.
Có cách nào để buộc bố trí lại chế độ xem bố cục tương đối không?
bạn có thể chỉ cho cách bố trí chính? –
Giao diện người dùng đang được tạo động hoàn toàn do đó không có XML nào đang được sử dụng:/ – Sevros