Я хотел бы создать свой собственный диалог, поэтому у меня есть такая реализация
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();
}
}
Также я должен сказать, что мой MainActivity
имеет такое onWindowFocusChanged
переопределение
override fun onWindowFocusChanged(hasFocus: Boolean)
{
super.onWindowFocusChanged(hasFocus)
if (hasFocus)
{
// Standard Android full-screen functionality.
// Use for hide status bar and navigation buttons
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or //
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or //
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or //
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or //
View.SYSTEM_UI_FLAG_FULLSCREEN or //
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
}
Таким образом, таким образом я не вижу ни строки состояния, ни функциональных кнопок.
Хорошо, проблема в том, что при открытии диалогового окна снова появляются функциональные кнопки и строка состояния

Я надеялся, что если я переопределю onWindowFocusChanged
, как в MainActivity
, все будет хорошо, но я получаю это вместо

Вопрос - как скрыть строку состояния и функциональные кнопки?