Android Studio 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" />
В моем фрагменте это вызов метода успеха 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)
Но ничего не помогает. Почему?