Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo puedo agregar sombra a ImageButton?

Esta es mi primera publicación. Y he estado usando este sitio web como un gran recurso. Pero he llegado a un problema. ¿He intentado aplicar un efecto de la sombra a mi ImageButton pero trabajo del doest? Lo que estoy tratando de lograr es la sombra que se puede ver en la burbuja flotante (Material Design). Tengo un círculo ImageButton, pero deseo agregar una sombra alrededor de él. ¿Cómo puedo lograrlo?

Se trata de circle_button.xml

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#C62666"/> </shape> 

Esto es circle_button_pressed.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#E92D6C"/> </shape> 

Este es mi selector que combina los dos dibujables en uno. Button.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/circle_button" android:state_focused="true" android:state_pressed="true" /> <item android:drawable="@drawable/circle_button_pressed" android:state_focused="false" android:state_pressed="true" /> <item android:drawable="@drawable/circle_button_pressed" android:state_focused="true" /> <item android:drawable="@drawable/circle_button" android:state_focused="false" android:state_pressed="false" /> </selector> 

Y esto es cómo lo aplico a mi ImageButton

 <ImageButton android:id="@+id/btn_apply" android:layout_width="68dp" android:layout_height="68dp" android:layout_alignParentTop="true" android:layout_alignRight="@+id/scrollView1" android:layout_marginRight="45dp" android:layout_marginTop="94dp" android:adjustViewBounds="true" android:background="@drawable/button" android:scaleType="fitCenter" android:src="@drawable/apply_two" /> 

Así que otra vez? ¿Cómo puedo añadir una sombra a mi botón? Gracias por tu tiempo.

  • Guardando colecciones de niños con OrmLite en Android con objetos creados de Jackson
  • "Por qué Apache Harmony" o "Cómo usar Java 8 en Android"
  • ¿Recibiré mensajes de GCM si Android mata a mi aplicación y si hago un cierre de la configuración?
  • Android: cómo reproducir video mp4 desde la URL?
  • Actividad de Android sin ActionBar
  • Cuál es la diferencia entre Java.Net.Uri y Android.Net.Uri
  • Android: pasando objetos entre fragmentos
  • Retrofit - Cliente Okhttp Cómo almacenar en caché la respuesta
  • One Solution collect form web for “¿Cómo puedo agregar sombra a ImageButton?”

    Puede ayudarle: Puede utilizar un botón:

     <ImageButton android:id="@+id/fab" android:background="@drawable/ripple" android:stateListAnimator="@anim/anim" android:src="@drawable/ic_action_add" android:elevation="4dp" /> 

    Donde ic_action_add es tu icono.

    Drawable / ripple.xml es:

     <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> <shape android:shape="oval"> <solid android:color="?android:colorAccent" /> </shape> </item> </ripple> 

    Anim / anim.xml es:

     <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true" android:state_pressed="true"> <objectAnimator android:duration="@android:integer/config_shortAnimTime" android:propertyName="translationZ" android:valueFrom="@dimen/button_elevation" android:valueTo="@dimen/button_press_elevation" android:valueType="floatType" /> </item> <item> <objectAnimator android:duration="@android:integer/config_shortAnimTime" android:propertyName="translationZ" android:valueFrom="@dimen/button_press_elevation" android:valueTo="@dimen/button_elevation" android:valueType="floatType" /> </item> </selector> 

    Dimens.xml es:

     <resources> <dimen name="fab_size">56dp</dimen> <dimen name="button_elevation">2dp</dimen> <dimen name="button_press_elevation">4dp</dimen> 

    Con el atributo de elevación , debe establecer el esquema mediante el código:

     public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layoutfab); //Outline int size = getResources().getDimensionPixelSize(R.dimen.fab_size); Outline outline = new Outline(); outline.setOval(0, 0, size, size); findViewById(R.id.fab).setOutline(outline); } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.