Intento implementar un efecto de desplazamiento (efecto cuando se presiona el botón) colocando un archivo PNG semi transparente sobre el fondo del botón y el ícono del botón. Desafortunadamente, el archivo de fondo del botón es un 9-PATCH-PNG que causa algunos problemas aquí: "traga" todo en la parte superior de la capa y no permite cubrir las áreas extensibles (la línea de luz fina alrededor) de los nueve parches-png . En otras palabras, las líneas negras del borde superior e izquierdo de 9 PATCH PNG causan no solo el estiramiento, sino también el comportamiento de relleno.¿Cómo cubrir un 9-PATCH-PNG por completo?
La eliminación de 9-Patch-Information no es una buena solución.
Aquí puede ver mi Botón. El fondo azul es un PATCH PNG de 9. La delgada línea de luz alrededor del botón no es deseada.
Esta capa-lista se asigna al atributo botón de "fondo":
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/home_btn_bg_blue_without_padding" />
<item>
<bitmap
android:src="@drawable/home_icon_test"
android:gravity="center" />
</item>
<item
android:drawable="@drawable/layer_black_50" />
</layer-list>
ajuste de las compensaciones de la capa a "-1" en cada frontera no es válida. ¿Ustedes sugerencias?
actualización
Probé siguientes, que estarán evite escalar, sugirió a partir here. Pero tampoco funcionó:
<!-- To avoid scaling, the following example uses a <bitmap> element with centered gravity: -->
<item>
<bitmap android:src="@drawable/image"
android:gravity="center" />
</item>
Mi versión (todavía faltan las zonas estirables de la 9-patch-png descubierto):
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/home_btn_bg_blue_hover_without_padding" />
<item>
<bitmap
android:src="@drawable/home_icon_test"
android:gravity="center" />
</item>
<item>
<bitmap android:src="@drawable/layer_black_100"
android:height="100dp"
android:width="100dp"/></item>
</layer-list>
Actualización 2
¿Podría funcionar para mí? Making Overlaid image transparent on touch in Android?
Déjame hacerlo bien. La primera imagen es el efecto deseado ¿no? –
@Octavian: No, colocar "@ drawable/layer_black ..." en la parte superior es el efecto deseado – OneWorld
El texto que agregó en la parte superior sobre su "Actualización 2" se muestra como la vista previa de la pregunta en la lista de preguntas , por lo que es menos probable que alguien tenga una idea aproximada de lo que está preguntando mientras navega por la lista de preguntas de Android, y, supongo, es menos probable que quiera hacer clic y responder. – MatrixFrog