Anko equivalente al estilo attr en xml
Necesito crear un button sin bordes. La forma más fácil en xml para establecer Widget.AppCompat.Button.Borderless
. Estoy tratando de hacer esto usando Anko
button(theme = R.style.Widget_AppCompat_Button_Borderless_Colonetworking, text = "Send") { horizontalGravity = Gravity.END lparams(wrapContent, wrapContent) }
Pero no hay efecto. ¿Qué estoy haciendo mal?
- ¿Qué es "implementación" en las dependencies de Kotlin Gradle?
- Firebase: ¿manera limpia de usar campos enum en Kotlin / Java?
- ¿Se debe evitar nombrar una function igual que una class existente en Kotlin? ¿Por qué?
- Anko. Ejecutar modificaciones de layout asíncronas
- Kotlin - forma idiomática de crear un Fragmento nuevoPatrón de instancia
- AndroidStudio / Kotlin - Referencia no resuelta: ReadWriteProperty - Kotlin versión 1.0.0-beta-1038
- ¿Cómo funcionan las funciones de order superior de Kotlin?
- Crea una list de otro
- Diseñando elementos HTML en Kotlin-js
- Cómo anotar una columna como NOT NULL utilizando Android Room Persistence Library
- Causado por: rx.exceptions.MissingBackpressureException
- ¿Hay un análogo didSet / willSet en Kotlin?
- Android Studio 2.2 no puede encontrar references para todos los files de kotlin
Intenta usar el tercer parámetro de constructor, que acepta el recurso attr
:
addView(Button(activity, null, R.attr.borderlessButtonStyle))
Además, puede declararlo como un componente DSL:
fun ViewManager.borderlessButton(textRes: Int = 0) = borderlessButton(textRes) { } fun ViewManager.borderlessButton(textRes: Int = 0, init: Button.()->Unit) = ankoView({ Button(it, null, R.attr.borderlessButtonStyle) }, 0) { if (textRes != 0) setText(textRes) init() }
Entonces, su sitio de llamada puede verse así:
borderlessButton(android.R.string.ok)
Puede consultar el método horizontalProgressBar
de Anko y HORIZONTAL_PROGRESS_BAR_FACRTORY
que se declaran de manera similar.
El order es incorrecto Prueba esto:
button("Your text", android.support.design.R.style.Base_Widget_AppCompat_Button_Borderless_Colonetworking) { //your params }
Esto funciona para mí