Por favor, avíseme, cómo puedo establecer el fondo predeterminado de un botón personalizado para nulo.Proporcionar un estilo predeterminado (atributos) en una vista personalizada
Sé que puedo definir un "estilo" que establezca android: background en "@null", y solicite a los usuarios que apliquen explícitamente el estilo en su diseño. Por ejemplo:
<style name="MyButton" parent="@android:style/Widget.Button">
<item name="android:background">@null</item>
</style>
y
<com.xxx.widget.MyButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/MyButton"
android:text="MyButton" />
Por encima de código está funcionando bien. Pero, ¿cómo puedo aplicar este estilo en mi clase "MyButton" internamente y permitir que los usuarios no configuren el estilo explícitamente?
Por ejemplo, cómo hacer siguiente distribución funciona como antes:
<com.xxx.widget.MyButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MyButton" />
Traté de hacer esto en el constructor como abajo, pero no su trabajo.
public MyButton(Context context, AttributeSet attrs) {
this(context, attrs, com.xxx.R.style.MyButton);
}
PS. Quiero aplicar este fondo "nulo" cuando un usuario no establece el fondo explícitamente.
creo que debería cambiar el título de tu pregunta. Siempre puedes tener un estilo predeterminado, pero eso podría cambiar más adelante. Quizás necesite decir 'estilo final' o algo por el estilo – ikbal
Vea http://stackoverflow.com/questions/4493947/how-to-define-theme-style-item-for-custom-widget para obtener algunos consejos sobre esto. –
Tenía un requisito similar: http://stackoverflow.com/questions/31504413/theme-style-for-custom-view/31505624#31505624 – stefan