Tôi đang tạo bố cục (tệp XML) trong Android có hai chế độ xem con (một ở bên phải màn hình và một ở bên trái). Tôi muốn chế độ xem ở bên phải chiếm không gian được xác định trước (trong dp) và có chế độ xem ở bên trái chiếm toàn bộ không gian còn lại đến giới hạn, tại thời điểm đó nó sẽ ngừng mở rộng và hai bố cục sẽ chỉ di chuyển xa hơn khi màn hình lớn hơn.Bố cục Android với chế độ xem ở bên phải chiếm không gian được đặt trước và xem trên thang trái để điền phần còn lại của màn hình lên đến giới hạn nhất định
Điều kỳ lạ là điều này sẽ rất dễ dàng nếu tôi muốn chế độ xem ở bên phải là hình mở rộng, và chế độ xem ở bên trái là chế độ chiếm không gian được đặt trước. Nếu bạn đặt từng chế độ xem theo chiều rộng bạn muốn (trong bố cục tuyến tính ngang), Android sẽ tự động thu nhỏ chế độ xem ở bên trái trong trường hợp cả hai chế độ xem không vừa.
Tôi muốn thực hiện việc này trong một tệp bố cục; bố cục này đã được thiết kế để hiển thị giữa đất sw512dp và đất sw765dp.
Mã bên dưới sẽ hoạt động nếu tôi có thể tìm cách làm cho Android thu nhỏ bố cục ở bên trái (khi bố cục cả hai không thể vừa với kích thước được chỉ định). Nhưng theo mặc định, hệ thống sẽ thu nhỏ bố cục ở bên phải đầu tiên.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/left"
android:layout_width="150dip"
android:layout_height="fill_parent"
android:background="@color/red" >
</RelativeLayout>
<LinearLayout
android:id="@+id/right"
android:layout_width="100dip"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/green" >
</LinearLayout>
Mã này (từ @Lokesh) sẽ làm việc nếu tôi không cần bố trí ở bên trái để ngừng mở rộng tại một điểm nhất định.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/left"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/right"
android:background="@color/red" >
</LinearLayout>
<LinearLayout
android:id="@+id/right"
android:layout_width="100dip"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/green" >
</LinearLayout>
Nó cũng sẽ được tốt đẹp để biết nếu có ai nghĩ này là không thể vì vậy tôi có thể nghỉ mát để làm việc đó một cách thực dụng hoặc thay đổi cách tiếp cận của tôi để bố trí.
Cảm ơn!
Chính xác những gì * các chế độ xem * này bạn đang nói đến? Tôi có nghĩa là Layouts hoặc vật dụng? –
Thử đăng mã – Chaitanya
Điều này phải dễ thực hiện nhưng phụ thuộc vào ý bạn là gì * chiếm hết dung lượng còn lại đến giới hạn *. – Luksprog