Android Kotlin 使用绑定变量隐藏不包含文本的 ProgressBar 不隐藏布局
Android Kotlin Hiding not Included ProgressBar with Text using Binding Variables not Hiding the Layout
我正在使用新的绑定变量方法在 Kotlin 中编写 Android 工作室应用程序。
当我在片段中包含布局时,无法隐藏整个布局。该布局有一个进度条和测试。我可以隐藏进度条,但文本和“覆盖”仍然存在。阻止用户与下面的片段交互。
如果我只使用 progressBar
,它可以正常工作。它只是不是我想要的外观,它不会用背景遮挡 activity。
我的问题是,如何隐藏整个包含布局?
我想做类似的事情:
binding.progressBarWText.visibility = View.VISIBLE
...
binding.progressBarWText.visibility = View.GONE
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:orientation="vertical"
android:background="#CCFFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/pbText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:gravity="center"
android:textColor="@color/primaryColor"
android:text="Processing ..."/>
</LinearLayout>
片段布局
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment_series_list"
xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_favoriteSeries"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginStart="8dp"
android:textSize="16sp"
android:checked="false"
android:text="@string/favoriteSeries"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/seriesList_RecyclerView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/switch_favoriteSeries" />
<!-- <ProgressBar-->
<!-- android:id="@+id/progressBarWText"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="0dp"-->
<!-- android:visibility="gone"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<include
android:id="@+id/progressBarWText"
layout="@layout/progress_bar_with_text"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
在我的片段中
binding.progressBarWText.progressBar.visibility = View.VISIBLE
binding.progressBarWText.pbText.visibility = View.VISIBLE
...
binding.progressBarWText.progressBar.visibility = View.GONE
binding.progressBarWText.pbText.visibility = View.GONE
如果你想隐藏整个包含的布局,例如id为progressBarWText
的<include>
标签,你可以调用binding.progressBarWText.root.visibility = View.GONE
.
我正在使用新的绑定变量方法在 Kotlin 中编写 Android 工作室应用程序。
当我在片段中包含布局时,无法隐藏整个布局。该布局有一个进度条和测试。我可以隐藏进度条,但文本和“覆盖”仍然存在。阻止用户与下面的片段交互。
如果我只使用 progressBar
,它可以正常工作。它只是不是我想要的外观,它不会用背景遮挡 activity。
我的问题是,如何隐藏整个包含布局?
我想做类似的事情:
binding.progressBarWText.visibility = View.VISIBLE
...
binding.progressBarWText.visibility = View.GONE
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:orientation="vertical"
android:background="#CCFFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/pbText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:gravity="center"
android:textColor="@color/primaryColor"
android:text="Processing ..."/>
</LinearLayout>
片段布局
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment_series_list"
xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_favoriteSeries"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginStart="8dp"
android:textSize="16sp"
android:checked="false"
android:text="@string/favoriteSeries"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/seriesList_RecyclerView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/switch_favoriteSeries" />
<!-- <ProgressBar-->
<!-- android:id="@+id/progressBarWText"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="0dp"-->
<!-- android:visibility="gone"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<include
android:id="@+id/progressBarWText"
layout="@layout/progress_bar_with_text"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
在我的片段中
binding.progressBarWText.progressBar.visibility = View.VISIBLE
binding.progressBarWText.pbText.visibility = View.VISIBLE
...
binding.progressBarWText.progressBar.visibility = View.GONE
binding.progressBarWText.pbText.visibility = View.GONE
如果你想隐藏整个包含的布局,例如id为progressBarWText
的<include>
标签,你可以调用binding.progressBarWText.root.visibility = View.GONE
.