diff --git a/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/ViewInfoFragment.kt b/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/ViewInfoFragment.kt index efe54bc7..20d894fc 100644 --- a/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/ViewInfoFragment.kt +++ b/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/ViewInfoFragment.kt @@ -4,6 +4,8 @@ import android.os.Bundle import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.os.bundleOf +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.Observer @@ -29,6 +31,11 @@ internal class ViewInfoFragment : Fragment(R.layout.pluto_li___fragment_view_inf override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets -> + val systemBarsInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + binding.bsContainer.previewPanelBottomSheet.setPadding(0, 0, 0, systemBarsInsets.bottom) + insets + } ActivityLifecycle.topActivity?.let { binding.operableView.tryGetFrontView(it) } binding.operableView.setOnClickListener(this) binding.leftControls.initialise( diff --git a/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/internal/hierarchy/ViewHierarchyFragment.kt b/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/internal/hierarchy/ViewHierarchyFragment.kt index 93b5710c..a6aaf29b 100644 --- a/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/internal/hierarchy/ViewHierarchyFragment.kt +++ b/pluto-plugins/plugins/layout-inspector/lib/src/main/java/com/pluto/plugins/layoutinspector/internal/hierarchy/ViewHierarchyFragment.kt @@ -62,12 +62,12 @@ internal class ViewHierarchyFragment : DialogFragment() { toast("root view not found, go back & try again") } - rootView?.let { + rootView?.let { root -> binding.expandCta.setOnDebounceClickListener { - viewModel.expandAll(it) + viewModel.expandAll(root) } binding.collapseCta.setOnDebounceClickListener { - viewModel.collapseAll(it) + viewModel.collapseAll(root) } binding.list.apply { adapter = hierarchyAdapter @@ -75,7 +75,7 @@ internal class ViewHierarchyFragment : DialogFragment() { viewModel.list.removeObserver(parsedAttrObserver) viewModel.list.observe(viewLifecycleOwner, parsedAttrObserver) - viewModel.parseInit(it) + viewModel.parseInit(root) } } diff --git a/pluto-plugins/plugins/layout-inspector/lib/src/main/res/layout/pluto_li___bs_container_preview_panel.xml b/pluto-plugins/plugins/layout-inspector/lib/src/main/res/layout/pluto_li___bs_container_preview_panel.xml index 380e25b0..2e05b23e 100644 --- a/pluto-plugins/plugins/layout-inspector/lib/src/main/res/layout/pluto_li___bs_container_preview_panel.xml +++ b/pluto-plugins/plugins/layout-inspector/lib/src/main/res/layout/pluto_li___bs_container_preview_panel.xml @@ -4,15 +4,15 @@ android:id="@+id/previewPanelBottomSheet" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/pluto___white" android:fitsSystemWindows="true" app:behavior_hideable="true" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> + android:layout_height="wrap_content" + app:layout_constraintTop_toTopOf="parent" /> \ No newline at end of file