Android L efecto de tacto de la ondulación en la forma?
Tengo un rectángulo redondeado con la elevación que arroja una sombra, apenas como en el ejemplo aquí: http://developer.android.com/preview/material/views-shadows.html#shadows
Aquí está mi forma:
- Servicios de Google Play en Genymotion en Lollipop (Android 5.0)
- AppCompat v21 Barra de herramientas que cambia el tamaño del logotipo
- Uso del Kit Kat DatePicker en el dispositivo Lolipop
- Biblioteca de soporte de diseño de Android con Theme.Material
- Cómo utilizar setOutlineProvider en lugar de setOutline en Lollipop
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@android:color/white" /> <corners android:radius="6dp" /> </shape>
Quiero obtener el efecto "touch" de rizado que todo lo demás tiene, pero cuando se establece como fondo de la vista, no se da ninguna respuesta al tacto. La forma permanece blanca.
Así que lo hice en una layer-list
:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@android:color/white" /> <corners android:radius="6dp" /> </shape> </item> <item android:drawable="?android:selectableItemBackground" /> </layer-list>
Ahora recibo una buena respuesta de contacto cuando la toco, pero hay un problema.
Se perdió el contorno de la forma de rectángulo redondeado. Todavía dibuja el rectángulo blanco redondeado bien, pero la sombra se echa como un rectángulo no redondeado (bordes cuadrados), y la ondulación va todo el camino más allá de las esquinas:
No parece demasiado horrible aquí, pero en el dispositivo es bastante feo y desagradable.
¿Hay una manera de arreglar esto? La sección Outline
del primer vínculo parece ser lo que quiero, pero no puedo imaginar cómo implementarlo.
- Efecto de material en el botón con el color de fondo
- HttpClient falla con Handshake Falló en Android 5.0 Lollipop
- Error de suma de comprobación al aprovisionar Android Lollipop
- DevicePolicyManger (). GetCurrentFailedPasswordAttempts bloquea la aplicación
- El evento OnClick en TextView detiene RippleEffect en CardView
- Android Lollipop BLE scan - obtener periféricos sin duplicaciones
- ActionMode con barra de herramientas que compensa el contenido
- El botón de inicio en la barra de acción no funciona en Lollipop
Intente que uno:
Ripple.xml
<?xml version="1.0" encoding="utf-8"?> <ripple android:color="@color/COLOR_WHILE_PRESSING" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/background"></item> </ripple>
Background.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/BACKGROUND_COLOR" /> <corners android:radius="6dp" /> </shape>
O tal vez este mensaje le ayudará a: Android L FAB sombra del botón
He explicado allí, la forma de implementar el nuevo botón FAB, también he utilizado el esquema para ello.
Haga clic aquí para ver el código fuente completo
Crear button.xml en la carpeta dibujable
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/colorPrimaryDark"/> <item android:drawable="@color/colorPrimary"/> </selector>
Crear button.xml en la carpeta drawable-v21
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item android:drawable="@color/colorPrimary" /> </ripple>
Puede configurar button.xml como fondo de su vista.
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:background="@drawable/button" android:clickable="true" android:gravity="center" android:padding="16dp" android:text="Android Ripple Effect Custom" android:textColor="#fff" android:textSize="18sp" />
Si desea que el color personalizado de efecto de rizo en lugar de gris predeterminado, puede archivarlo agregando colorControlHighlight en su estilo.
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="colorControlHighlight">@color/colorPrimaryDark</item> </style> </resources>
Botón del efecto del tacto de la ondulación en el estudio del androide
<com.xgc1986.ripplebutton.widget.RippleButton android:id="@+id/Summit" android:layout_width="260dp" android:layout_height="50dp" android:text="Login" android:textColor="@color/white" android:textStyle="bold" app:buttonColor="@color/Button" app:rippleColor="@color/white" />
Para obtener más información, haga clic aquí http://androiddhina.blogspot.in/2015/04/android-ripple-touch-effect-example.html
<RelativeLayout android:foreground="?android:attr/selectableItemBackground"> </RelativeLayout>
- ¿Cómo usar unicode en los recursos de Android?
- Android LinearLayout con recurso de color: ¿Qué estoy haciendo mal?