cuốn sách gpt4 ai đã làm

BottomSheet bay đi với sự thay đổi về khả năng hiển thị

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 07:55:10 27 4
mua khóa gpt4 Nike

Tôi có một Bảng dưới cùng có NestedScrollView bên trong nó (xem bên dưới). Tôi muốn ẩn một số phần nhất định của NestedScrollView này khi tôi nhấn nút FAB. Tuy nhiên, khi tôi thay đổi mức độ hiển thị của một số bố cục tuyến tính thành GONE, Bảng dưới cùng sẽ bay lên trên cùng. Nhìn ở đây:

nhập mô tả hình ảnh ở đây

Bạn có thể bắt đầu từhttps://github.com/Tanrikut/BottomSheetVí dụ Nhận mã hoàn chỉnh

Phương pháp của tôi để thay đổi mức độ hiển thị:

khoảng trống riêng tư thay đổiVisibility() {
phụ đềLayout.setVisibility(View.GONE);

phối hợpLayout.setVisibility(View.GONE);
timeLayout.setVisibility(View.GONE);

}

Xml NestedScrollView của tôi:



xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ứng dụng:behavior_peekHeight="120dp"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
android:id="@+id/bottom_sheet_main">


android:layout_width="match_parent"
android:layout_height="wrap_content">


android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:background="@android:color/white"
android:animateLayoutChanges="true"
android:orientation="dọc"
>


android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="dọc"
android:paddingLeft="10dp"
android:paddingStart="10dp"
android:paddingTop="@dimen/activity_horizontal_margin">


style="@style/TextAppearance.AppCompat.Headline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sô cô la bồ công anh"
android:id="@+id/title" />

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_horizontal_margin"
android:layout_marginTop="16dp"
android:orientation="ngang"
android:id="@+id/subtitleLayout">


android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/phụ đề"
android:text="Phụ đề" />








android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="ngang"
android:padding="@dimen/activity_horizontal_margin"
android:id="@+id/coordineLayout">


android:layout_width="24dp"
android:layout_height="24dp"
android:alpha="0,36"
android:src="@drawable/ic_room_24dp"
android:background="@null" />


android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:text="740, Valencia St, San Francisco, CA"
android:textColor="@android:color/primary_text_light"
android:id="@+id/bottom_sheet_coordine" />




android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="ngang"
android:padding="@dimen/activity_horizontal_margin"
android:id="@+id/timeLayout">


android:layout_width="24dp"
android:layout_height="24dp"
android:alpha="0,36"
android:src="@drawable/ic_query_builder_24dp"
android:background="@null" />


android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:text="Thứ Tư, 10 giờ sáng - 9 giờ tối"
android:textColor="@android:color/primary_text_light"
android:id="@+id/bottom_sheet_time" />








câu trả lời hay nhất

Tôi gặp phải vấn đề này và phải mất một thời gian tôi mới tìm ra nguyên nhân gây ra sự cố.

Điều này là do bạn đang sử dụng android:animateLayoutChanges, điều này sẽ hiển thị lỗi trong BottomSheetBehavior hoặc CoorderLayout.

Hãy xóa nó và BottomSheet sẽ tự dừng hoạt ảnh khi không cần thiết. Không phải là một sửa chữa, nhưng ít nhất là một cách giải quyết.

--

gia hạn:

Hóa ra là nếu bạn bật "animateLayoutChanges" theo chương trình bằng cách đặt phiên bản LayoutTransition để sử dụng, bạn có thể đặt cờ trên đó để tránh bị nhầm lẫn với Chế độ xem tổ tiên của Chế độ xem bạn đang sử dụng android:animateLayoutChanges (còn gọi là BottomSheet của bạn thùng chứa):

Chuyển đổi LayoutTransition = new LayoutTransition();
transition.setAnimateParentHierarchy(false);
yourLinearLayoutThatNeedsLayoutAnimation.setLayoutTransition(transition);

Về android - BottomSheet bay đi với sự thay đổi khả năng hiển thị, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/38327849/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress