Cómo mostrar una ventanas emergentes con imagen de fondo transparente?
Hola chicos, estoy haciendo una aplicación en la que se muestran ventanas emergentes con imagen de fondo,
La imagen de fondo que he puesto a la ventana emergente es la imagen transparente, pero el problema es que cuando la ventana emergente se muestra la imagen de fondo no se muestra correctamente ….
Aunque es una imagen transparente que muestra la franja negra alrededor de la esquina de la imagen ..
Alguien puede ayudarme ??
PopupDemoActivity.java
Paquete com.demo.popupwindow .;
import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.Button; import android.widget.FrameLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.PopupWindow; public class PopupDemoActivity extends Activity { Button searchMenu, viewOrder; PopupWindow popUp; LayoutParams params; FrameLayout layout; // LinearLayout layout; boolean click = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.popdemodemo); searchMenu = (Button) findViewById(R.id.menu); viewOrder = (Button) findViewById(R.id.order); popUp = new PopupWindow(this); // layout = new LinearLayout(this); layout = new FrameLayout(this); viewOrder.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (click) { popUp.showAtLocation(layout, Gravity.TOP | Gravity.RIGHT, 0, 0); popUp.update(30, 75, 500, 400); click = false; } else { popUp.dismiss(); click = true; } } }); // popUp.setContentView(layout); params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); layout.setBackgroundResource(R.drawable.order_back); // layout.setBackgroundColor(Color.TRANSPARENT); popUp.setContentView(layout); } }
Popupdemo.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/white_color" android:orientation="vertical" > <RelativeLayout android:id="@+id/header_lay" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" > <Button android:id="@+id/menu" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:text="Search Menu" android:textColor="@color/white_color" android:textSize="25sp" android:textStyle="bold" /> <Button android:id="@+id/order" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginRight="30dp" android:text="View Order" android:textColor="@color/white_color" android:textSize="25sp" android:textStyle="bold" /> </RelativeLayout>
Jayesh, prueba esto:
popUp.setBackgroundDrawable(new ColorDrawable( android.graphics.Color.TRANSPARENT));
conjunto
popUp.setBackgroundDrawable(null);
Debe hacer el trabajo. Lo que está recibiendo en el fondo es algún tipo de contenido de fondo de la ventana emergente
En su XML está definiendo el fondo de su ventana emergente como
Android: background = "@ color / white_color"
Trate de aplicar la imagen de fondo aquí en lugar de en tiempo de ejecución.
Android: background = "@ drawable / order_back"
O
Mover el código emergente que cambia el código arriba (antes de popUp.showAtLocation(layout, Gravity.TOP | Gravity.RIGHT,0, 0);
)