как закруглить углы AlertDialog по коду - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть следующий код, который создает мне alerttdialog, содержащий веб-просмотр.Как установить углы, закругленные по коду?

public QuickTextViewer(Context context){
    this.context = context;
    webView = new WebView(context);
    webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
    webView.loadData("No Text", "text/html", "utf-8");
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });
    alert = new AlertDialog.Builder(context);
    webView.setBackgroundColor(Color.WHITE);
    alert.setView(webView);

    // Dialog
    dialog = alert.create();
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    Window window = dialog.getWindow();
    window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
    window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    window.setGravity(Gravity.RIGHT);
    dialog.getWindow().setGravity(Gravity.END);
    dialog.setCancelable(true);
    dialog.setCanceledOnTouchOutside(true);

}

1 Ответ

0 голосов
/ 15 апреля 2019

Это может быть долгий путь, но это идеальное решение, создайте новый файл для рисования и напишите этот код

circle.xml (он хранится в файле для рисования)

<shape xmlns:android="http://schemas.android.com/apk/res/android">

<corners
    android:radius="100dp"
    />
<solid
    android:color="#E6E4E0"
    />
<stroke
    android:width="3dp"
    android:color="#B48B05"/>

После этого создайте файл макета для макета Dialog и используйте указанный выше файл в качестве фона. Например,

 android:background="@drawable/circle"

Теперь создайте Dialog Class для реализации макета

DialogClass.java

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
import android.view.View;
import android.view.Window;
import android.widget.Button;

public class DialogClass extends Dialog
        implements  android.view.View.OnClickListener{

public Activity c;
public Dialog d;
public Button SETTINGS, OK;

public No_Internet(Activity a) {
    super(a);
    this.c = a;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.dialoglayout);
    SETTINGS = findViewById(R.id.btnsettings);
    OK = findViewById(R.id.btnOK);

    SETTINGS.setOnClickListener(this);
    OK.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    switch (v.getId()) {

        case R.id.btnOK:
            dismiss();
            break;

        case R.id.btnsettings:
            Intent intent = new Intent(Settings.ACTION_SETTINGS);
            c.startActivity(intent);
            break;
    }
    dismiss();
    } 
 }

Поэтому, если вы хотите использовать это диалоговое окно, просто используйте этот

 DialogClass dialog = new DialogClass(activityName.this);
 internet.show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...