how to set margin in Dialog

android, dialog, webview

Solution

I did a similar smiley dialog. I extend dialog

public class SmileCustomDialog extends Dialog {
Context mcontext;
GridView mGridview;

public GridView getGridview() {
    return mGridview;
}

public SmileCustomDialog(final Context context) {
    super(context, R.style.SlideFromBottomDialog);
    this.mcontext = context;
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v = inflater.inflate(R.layout.emocategorydialog, null);
    mGridview = (GridView) v.findViewById(R.id.emogrid);
    mGridview.setSelector(new ColorDrawable(Color.TRANSPARENT));

    ImageAdapter mAdapter = new ImageAdapter(mcontext);
    mGridview.setAdapter(mAdapter);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.setContentView(v);

    WindowManager.LayoutParams params = this.getWindow().getAttributes();
    this.setCanceledOnTouchOutside(true);
    params.y = -100;
    this.getWindow().setAttributes(params);

}

}

But the essential is

WindowManager.LayoutParams params = yourDialog.getWindow().getAttributes(); // change this to your dialog.

params.y = -100; // Here is the param to set your dialog position. Same with params.x
        yourDialog.getWindow().setAttributes(params);

Just add this before your show your dialog.

Problem

I have used `Dialog` for display ad in my Andorid app.But I have to display this `Dialog` about 50dp top from buttom so i think we should set `Dialog` Gravity buttom and set its buttom margine 50dp.But i'm unable to use margin in `Dialog`.so please can suggest me how to solve this. XML: ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/popup_element" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/dialogback" android:orientation="vertical" > <WebView android:id="@+id/webView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> ``` Java: ``` final Dialog dialog = new Dialog(this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0)); LayoutInflater inflator = (LayoutInflater) getApplicationContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflator.inflate(R.layout.ad, null, false); dialog.setContentView(view); dialog.getWindow().setGravity(Gravity.BOTTOM); dialog.setCancelable(true); WebView webView = (WebView) dialog.findViewById(R.id.webView); webView.loadUrl(""); webView.setWebViewClient(new MyWebViewClient()); webView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog.dismiss(); } }); dialog.show(); ```

Original source

Related problems