Hoạt động của tôi khai báo tất cả các mảnh GUI của nó trong một bố cục XML đơn. Nó chỉ cần hiển thị một vài đoạn trong lúc khởi động; phần còn lại được hiển thị khi người dùng tương tác với ứng dụng. Một phần của cách bố trí như sau:Làm cách nào để khai báo một Phân đoạn là bị ẩn trong bố cục XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/map_panel"
android:name="com.example.MapPanel"
android:layout_width="match_parent"
android:layout_height="@dimen/map_panel_height" />
<fragment
android:id="@+id/list_panel"
android:name="com.example.ListPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/map_panel" />
<fragment
android:id="@+id/detail_panel"
android:name="com.example.DetailPanel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/map_panel"
android:visibility="gone" />
ý định của tôi là list_panel
đoạn có thể nhìn thấy lúc khởi động, và detail_panel
đoạn được ẩn cho đến khi người sử dụng chọn một cái gì đó từ danh sách.
Theo mặc định, một đoạn bắt đầu với thuộc tính isHidden
là sai. Điều đó có nghĩa là hoạt động của tôi phải lặp qua các đoạn đã tải và gọi theo cách thủ công isHidden(true)
trên các đoạn như detail_panel
khi khởi động.
Tôi muốn khai báo trạng thái isHidden
trong bố cục XML. Tuy nhiên, đặt android:visibility="gone"
trong tuyên bố <fragment>
không thay đổi trạng thái isHidden
và tôi không thể tìm thấy bất kỳ tài liệu nào về thuộc tính khác sẽ thực hiện thủ thuật.
Có thể đặt thuộc tính XML trên <fragment>
để khiến thuộc tính bị ẩn không?
Lưu ý: Tôi không quan tâm đến khả năng hiển thị chế độ xem, tôi quan tâm đến giá trị fragment.isHidden()
. Điều đó ảnh hưởng đến cách FragmentManager thao tác ngăn xếp lưng và thực hiện hoạt ảnh. Nếu bạn gọi transaction.show(fragment)
trên một đoạn có chế độ xem là vô hình hoặc bị mất, nhưng giá trị fragment.isHidden()
là sai, thì Trình quản lý phân đoạn sẽ không hiển thị chế độ xem. Xem http://developer.android.com/reference/android/app/Fragment.html#isHidden() để tham khảo.
bạn đã thử android: visibility = "invisible" chưa? – Sushil
Có, tôi đã thử "vô hình" ngoài "biến mất". Không ảnh hưởng đến trạng thái isHidden của fragment. –
Bạn có ý nghĩa gì khi "bỏ rơi để đi". bạn đã thử "vô hình" chưa. Trong trường hợp này nó sẽ tạo ra fragmment và giữ nó trong trạng thái vô hình. – Sushil