【问题标题】:Can't hide <include> item programmaticaly无法以编程方式隐藏 <include> 项
【发布时间】:2019-10-25 07:53:49
【问题描述】:

Android Studio 3.6

在 app/build.gradle 中:

android {
viewBinding.enabled = true

在我的活动中:

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = QrBluetoothSwipeActivityBinding.inflate(layoutInflater)
}

在我的qr_bluetooth_swipe_activity.xml

      <include
            android:id="@+id/blueToothBottonContainer"
            layout="@layout/bluetooth_bottom_container"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:visibility="gone"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

我想以编程方式隐藏 blueToothBottonContainer。 所以我试试这个:

private fun setBottomContainreViewMode(isQrScreenVisible: Boolean) {
        if (isQrScreenVisible) {
            binding.qrBottonContainer.
        }
}

但没有找到像setVisible这样的方法smt

为什么?

【问题讨论】:

    标签: android android-viewbinding


    【解决方案1】:

    setVisibility 方法属于一个 View 类。 &lt;include&gt; 标签并不是真正的 layout(View + ViewGroups)。这就是为什么你不会在上面找到setVisibility 方法的原因。

    要隐藏包含的布局,您可以在 bluetooth_bottom_container 布局中为父布局提供 id,然后将其从 binding.blueToothBottonContainer.{parent_layout_id} 更改为可见性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多