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?

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í

  • Forzar error de compilation con classs selladas
  • Kotlin JavaScript al file de definición de TypeScript
  • Kotlin: atribuye visibilidad al object complementario
  • ¿Cómo asignar un valor nulo a una variable de tipo de function en Kotlin?
  • Vista de búsqueda abierta de Android programáticamente
  • Cómo mezclar múltiples constructores de class padre con val en class infantil
  • Comportamiento impar de TestObserver al suscribirse a un Asunto
  • ¿Es posible definir un valor pnetworkingeterminado para una function de parámetro?
  • Cómo verificar la function de kotlin varargs usando mockito
  • Al crear una interfaz en Kotlin, ¿importa si las properties tienen get / set?
  • Deserialization de KS JS JSON