Quitar bordes de un ImageButton en Android

Si asignamos una imágen a la propiedad src de un ImageButton, se añadirá perfectamente, pero si nos fijamos veremos un borde rectangular que sobresale por los lados y que no se quita ni aunque asignemos los padding a cero. Si la imágen es redondeada y con transparencias aún se verá mas. Adjunto una imágen de un proyecto que estoy haciendo donde se ve dicho borde por defecto en color gris.

Captura

Bien. Esa esquina que aparece pertenece al background. Si lo establecemos en rojo, se verá muy claramente como aparece por detrás de la imágen asignada en el src.

2

 

Para que no aparezca debemos indicarle que no queremos que se use el background, por tanto lo asignamos a @null y desaparecerá.

3

 

 

 

Añadir una Font en Android

Hay varias formas, pero ninguna es demasiado sencilla de usar. Con todo lo bueno que tiene Android Studio, parece dificil que no se haya incluido una forma mas sencilla de incrustar fuentes.

La que resumo aquí para copiar y pegar, es basicamente asignarla objeto por objeto.
Esto se puede mejorar mucho claro, pero ya será en otro artículo mas en detalle.

Al final igualmente tendremos que crear un Typeface nuevo, con la fuente que queremos cargar. Dicha fuente deberá estar bajo la carpeta Assets. Es posible, si usas Android Studio, que no encuentres la carpeta Assets dentro de Main. Si te aparece el siguiente error en ejecución, creala.

 java.lang.RuntimeException: native typeface cannot be made at 
android.graphics.Typeface.<init>(Typeface.java:175) at 
ndroid.graphics.Typeface.createFromAsset(Typeface.java:149)

Debería quedarte algo así:
Captura

Ahora vamos al código que crea el Typeface y lo asignamos a nuestro botón.

 

 
String fontPath = "fonts/armalite_rifle.ttf"; 
final Button b = (Button) findViewById(R.id.botonEjemplo ); 
Typeface tf = Typeface.createFromAsset( this.getAssets(), fontPath); 
b.setTypeface(tf); 

Podeis trastear con las rutas que utilizará el método createFromAsset. Lo tenéis en el app.iml, en la línea.

 

<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />

Quitar título de aplicación Android con XML

Si no queremos hacerlo mediante programación, ya que no necesitamos que sea una modificación a realizar dinamicamente, simplemente podemos aplicar un estilo que contenga esta propiedad. Creamos un tema en el styles.xml que contenga windowNoTitle a true.

Esto sería parte de un fichero de estilo.

<resources>
    <style name="Theme.QuitarTitulo" parent="android:Theme">
        <item name="android:windowNoTitle">true</item>
    </style>
</resources>

y después lo añadimos a la aplicación en el manifest.

<application android:theme="@style/Theme.QuitarTitulo" >

Artículo para quitar título desde programación.