2011-07-18 10 views
5

He creado un cuadro de diálogo personalizado y hay líneas negras en la parte superior e inferior. Solo aparecen en el Galaxy S2. En algunos otros dispositivos se ve bien. ¿Hay algún atributo que deba establecer para deshacerse de ellos?Línea negra en el diálogo personalizado en Galaxy S 2

enter image description here

Aquí está mi código:

public class MyDialog extends Dialog { 

    private Context context; 
    private String title, message; 
    private TextView titleView, messageView; 
    private ImageView icon; 
    private int iconRes; 
    private boolean spin; 

    public MyDialog(Context context, int icon, boolean spin, String title, String message) { 
     ... 
    } 

    private void init() { 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     this.setContentView(R.layout.my_dialog); 
     ... 
    } 

} 

Diseño:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:minWidth="300dip" style="@style/basic" android:orientation="vertical"> 
    <LinearLayout android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:background="@drawable/titlebar_bg" 
     android:orientation="horizontal" android:gravity="center_vertical" 
     android:paddingBottom="5sp"> 
     <ImageView android:src="@drawable/info" android:id="@+id/dialogIcon" 
      android:layout_height="32sp" android:layout_width="32sp" /> 
     <TextView android:id="@+id/titleText" android:text="Title" 
      android:textSize="20sp" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:textColor="@color/darkgrey" 
      android:layout_marginLeft="5sp" /> 
    </LinearLayout> 
    <TextView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:paddingTop="5sp" 
     android:textColor="#000" android:id="@+id/messageText" android:text="Message" /> 
</LinearLayout> 
+0

Obtengo lo mismo en todos mis cuadros de diálogo personalizados en mi SGS II también. –

Respuesta

3

Después de un largo tiempo a investigar este asunto, descubrí, que Samsung parece tener un defecto panel_background.9.png en sus recursos ...

Una solución para obtener de este viaje en líneas negras es fijar su propio fondo para los cuadros de diálogo como este:

<style name="CustomDialog" parent="@android:style/Theme.Dialog"> 
    <item name="android:windowBackground">@drawable/panel_background</item> 
</style> 

continuación, copie el panel_background.9.png de la fuente de Android o crear una propia! Luego, asegúrese de que su cuadro de diálogo esté instanciado con la nueva creación de tema en su style.xml ...

Solo hay un problema, ahora su cuadro de diálogo perderá el "Samsung-Dialog-Style". Lo que significa que la esquina puede diferir de otros diálogos predeterminados en su aplicación ...

Cuestiones relacionadas