#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
.