Не удается использовать метод setStrokeColor для кнопки материала Android

#android #kotlin #material-design

#Android #котлин #материал-дизайн

Вопрос:

Я использую кнопку «Материал» в Android Studio (версия материала 1.4.0). Я хотел изменить цвет контура при нажатии кнопки. так что,

 binding.activeButton.setOnClickListener{   binding.activeButton.setStrokeColor(Color.parseColor("#FFFFFF")) }  

Однако я не могу использовать setStrokeColor метод. Там написано «Неразрешенная ссылка: setStrokeColor».

введите описание изображения здесь

Я все еще могу использовать app:strokeColor="@color/white" в XML-файле, но я не могу использовать setStrokeColor метод в файле действий. В чем может быть причина ? Это из-за версии дизайна материала?

Комментарии:

1. Это некоторые ошибки из-за версии koltin, попробуйте обновить версию kotlin. Также иногда эти ошибки есть, но проект выполняется. Вы можете попробовать это. Кроме того, в котлине нам действительно не нужно использовать методы получения/установки. Я проверил ваш код, для этого требуется колорСтатеЛист. ** привязка.activeButton.strokeColor = ContextCompat.getColorStateList(требуется текст(),R. color.colorPrimary)**

Ответ №1:

Попробовать это:

 binding.activeButton.setStrokeColorResource(R.color.back_color_green_btn)  

Комментарии:

1. К сожалению, это также становится «Неразрешенной ссылкой».

2. поместите свой xml-код здесь

3. «lt;Кнопка android:id=»@ id/activeButton»android:layout_width=» wrap_content»android:layout_height=» wrap_content»android:текст=»@строка/активный»приложение:layout_constraintBottom_toBottomOf=»@ id/панель управления»приложение:layout_constraintEnd_toStartOf=»@ id/кнопка»приложение:layout_constraintHorizontal_bias=» 0,5″приложение:layout_constraintHorizontal_chainStyle=» упакованный»приложение:layout_constraintStart_toStartOf=» родительский»приложение:layout_constraintTop_toTopOf=» родительский»стиль=»? attr/materialButtonOutlinedStyle» /gt; `

4. О. Вы должны использовать com.google.android.material.button.MaterialButton вместо Button .