android - 无法禁用点击 MaterialButton
问题描述
安卓工作室 3.6
款式:
<style name="buttonStyle" parent="@style/Widget.MaterialComponents.Button">
<item name="android:textColor">@color/default_button_textColor</item>
<item name="backgroundTint">@color/button_bg_color</item>
<item name="android:textAppearance">@style/byttonTexAppearanceStyle</item>
</style>
在我的 xml 布局中:
<com.google.android.material.button.MaterialButton
android:id="@+id/buttonStartSearchBluetooth"
style="@style/buttonStyle"
android:layout_width="0dp"
android:layout_height="@dimen/button_height"
android:layout_margin="@dimen/button_margin"
android:onClick="onClickButtonStartSearch"
android:text="@string/start_search"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
在我的 Fragment 中,它成功调用方法onClickButtonStartSearch
如下:
class BluetoothPageFragment : Fragment() {
private lateinit var dataBinding: BluetoothPageFragmentBinding
private lateinit var bluetoothPageViewModel: BluetoothPageViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
dataBinding =
DataBindingUtil.inflate(inflater, R.layout.bluetooth_page_fragment, container, false)
val view = dataBinding.getRoot()
dataBinding.setHandler(this)
initLogic()
return view
}
fun onClickButtonStartSearch(view: View) {
bluetoothPageViewModel.doClickButtonStartSearch()
}
}
好的。现在我想“在飞行中”禁用点击按钮。所以我试试这个:
dataBinding.buttonStartSearchBluetooth.isClickable = false
dataBinding.buttonStartSearchBluetooth.isEnabled = false
dataBinding.buttonStartSearchBluetooth.setFocusableInTouchMode(false)
但没有任何帮助。为什么?
解决方案
推荐阅读
- git - Search for a text accross all revision of a file
- javascript - 有没有办法将变量从程序内存存储到硬盘保留函数
- android - 如何生成兼容大多数版本的apk(SDK)
- xcode - simctl recordVideo - 流式传输视频的问题
- python - 在python中声明一个空数组
- java - java android sqlite 创建表
- node.js - Axios 请求失败,状态码为 429,但它正在使用 Postman
- java - 无法评估表达式方法引发了“java.lang.StackOverflowError”异常。具有实体之间的嵌套关系
- python - 尽管模块中存在模块,但没有模块命名错误
- excel - 如何在页脚区域打印具有不同页码的多张纸