Tôi đang gặp sự cố với Android. Tôi đang thiết lập tham số Weight trong Java, nhưng nó làm chính xác oposite của những gì tôi muốn.Android: Đặt thông số Trọng số theo chương trình ngược lại với những gì tôi muốn
Dưới đây là đoạn code
LinearLayout container = new LinearLayout(context);
// some code ...
container.setWeightSum(1f);
View v1 = new View(context);
v1.setBackgroundColor(Color.parseColor("#ff0000"));
LinearLayout.LayoutParams p1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
p1.weight=0.1f;
View v2 = new View(context);
v2.setBackgroundColor(Color.parseColor("#000000"));
LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
p2.weight=0.9f;
container.addView(v1,p1);
container.addView(v2,p2);
Tôi lặp lại quá trình này 7 lần với việc thêm một đường màu đen giữa bố trí thùng sơn. Thông thường tôi sẽ nhận được một cột nhỏ màu đỏ trên lef, và một màu đen lớn, nhưng đây là những gì tôi nhận được với mã này:
Tại sao nó làm hoàn toàn ngược lại của mã?
Cảm ơn các bạn đã giúp đỡ.
bạn đang cố gắng làm gì? chủ yếu là màu đen với chỉ một chút màu đỏ? Nếu chỉ cần chuyển đổi các giá trị trọng số của bạn, bạn sẽ bị lạc hậu. – FoamyGuy
thử với chiều rộng 0 cho trẻ em –
@DheereshSingh Tuyệt vời! nó làm việc với chiều rộng 0 cho trẻ em. Cảm ơn rất nhiều! :) – Firas