У меня есть собственная реализация диалога
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.NonNull;
public class TutorialDialog extends Dialog
{
private TextView mTvClose;
private Button mBtnCheck;
private EditText mEtLink;
private DialogCallback mCallback;
public interface DialogCallback
{
void doOnCheckClick(@NonNull final String iLink);
}
public TutorialDialog(@NonNull final Context iC)
{
super(iC);
}
public Dialog setCallback(@NonNull final DialogCallback iCallback)
{
mCallback = iCallback;
return this;
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.other_tutorial_dialog_layout);
initRefs();
setListeners();
}
private void setListeners()
{
mBtnCheck.setOnClickListener(i -> doOnCheckBtnClick());
mTvClose.setOnClickListener(i -> doOnCloseBtnClick());
}
private void doOnCloseBtnClick()
{
dismiss();
}
private void doOnCheckBtnClick()
{
String modelLink = mEtLink.getText().toString();
if (TextUtils.isEmpty(modelLink))
{
((PresidentApp) getContext().getApplicationContext()).sendToast(getContext().getString(R.string.some_text_here));
}
else if (mCallback != null)
{
mCallback.doOnCheckClick(mEtLink.getText().toString());
dismiss();
}
}
private void initRefs()
{
mEtLink = findViewById(R.id.et_ask_password_link);
mBtnCheck = findViewById(R.id.btn_ask_password_download);
mTvClose = findViewById(R.id.tv_ask_password_close);
}
@Override
public void onDetachedFromWindow()
{
mBtnCheck.setOnClickListener(null);
mTvClose.setOnClickListener(null);
mCallback = null;
super.onDetachedFromWindow();
}
}
А вот макет
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background_tutorial_dialog"
android:orientation="vertical">
<TextView
android:id="@+id/tv_ask_password_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:background="@drawable/ic_close"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/tv_ask_password_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="@string/some_text_here"
android:textColor="@android:color/white"
app:layout_constraintBottom_toTopOf="@+id/et_ask_password_link"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<EditText
android:id="@+id/et_ask_password_link"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:paddingEnd="16dp"
android:paddingStart="16dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="#AD3366BB"
android:textColorHint="#AD3366BB"
app:layout_constraintBottom_toTopOf="@+id/btn_ask_password_download"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_ask_password_header"/>
<Button
android:id="@+id/btn_ask_password_download"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:backgroundTint="@android:color/holo_green_light"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_ask_password_link"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Как вы можете видеть, я использую фон
android:background="@drawable/background_tutorial_dialog"
Здесь is xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<stroke
android:width="3dp"
android:color="#000000"/>
<corners
android:radius="30dp"/>
</shape>
Результат равен

Как вы можете видеть, фигура имеет закругленные края, но расположение диалогов все еще имеет фон.
Что я делаю не так?