¿Cómo puede obtener la luz azul halo de una tostada en mi tostada personalizado también?
Estoy creando mi tostada personalizada principalmente porque la coloco en una vista de cuadrícula y necesito un cierto control en su anchura. Pero realmente me gusta el halo lightblue en el pan tostado estándar y me gustaría conseguir que la espalda (o por lo menos tener mi tostada personalizada algo similar a la tostada por defecto).
¿Cuál es una manera fácil / elegante de lograr eso?
- Suprimir tostadas del paquete en Android
- "SetView debe haber sido llamado" - Custom Clase extendiendo el botón
- ¿De dónde viene esta tostada?
- Tostada no se muestra en el Samsung Galaxy S3 (última actualización 4.1.2)
- ¿Cómo mostrar tostadas dentro del temporizador?
He creado un tostado personalizado desde este diseño:
<LinearLayout android:id="@+id/toast_layout_root" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:padding="10dp"> <ImageView android:id="@+id/toast_layout_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_marginRight="10dp"> </ImageView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/toast_layout_text" android:textColor="#FFF" android:textAppearance="?android:attr/textAppearanceLarge"> </TextView> </LinearLayout>
Y lo invoca de esta manera (enfoque común como se describe en la documentación de dev. Android, así como un par de tutoriales en la web, la única diferencia es que trabajo con una vista de cuadrícula y cada tostada se coloca de acuerdo a su posición de rejilla)
int location[] = new int[2]; view.getLocationOnScreen(location); LayoutInflater inflater = getLayoutInflater(); View toastLayout = inflater.inflate(R.layout.toast_layout,(ViewGroup)findViewById(R.id.toast_layout_root)); TextView textView = (TextView) toastLayout.findViewById(R.id.toast_layout_text); textView.setText("This tile does not contain any valid data."); int toastWidth = cellWidth * 3 / 4; textView.setWidth(toastWidth - 64); // TODO picture size needs to be correct Toast toast = new Toast(getApplicationContext()); toast.setView(toastLayout); toast.setDuration(Toast.LENGTH_SHORT); toast.setGravity(Gravity.TOP|Gravity.LEFT, location[0]+((cellWidth-toastWidth)/2),location[1]+cellHeight-100); toast.show();
Esto se ve muy limpio, pero totalmente diferente de la tostada por defecto ..
- Cómo personalizar el brindis en Android
- Cómo configurar la tipografía para brindar?
- Cómo personalizar backgroud, color de fondo y color de texto para Toast en android
- Establecer Toast Aparecer Longitud
- Cómo mostrar un mensaje Toast desde una clase que no se extiende Actividad
- Cómo cambiar la alineación de Toast por programación?
- ¿Por qué son los mensajes emergentes de Android llamados brindis?
- Establezca Android Toast duración a ser realmente largo (por ejemplo, 1 minuto)
Aplique este diseño para su mensaje de brindis:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toast_layout_root" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="35dp" android:orientation="horizontal" android:background="@android:drawable/dialog_holo_dark_frame" > <ImageView android:id="@+id/toast_layout_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/appicon" android:layout_marginRight="10dp"> </ImageView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/toast_layout_text" android:textColor="#FFF" android:textAppearance="?android:attr/textAppearanceLarge"> </TextView> </LinearLayout>
No he encontrado lo que son cellWidth y cellHeight, así que trate de experimentar con relleno si no encaja
Editar: Oh, he aplicado tema oscuro, trate de usar la luz en su lugar.
- SMS BroadCast Receptor recibe muchas veces?
- ¿Cómo puedo crear un widget de aplicación de paginación de Android compatible con versiones anteriores?