안 드 로 이 드 는 alertDialog.builder 가 밖 을 클릭 하거나 리 턴 키 를 누 르 지 않 고 사라 지 는 방법
2332 단어 alertdialogandroid
근 데 밖 을 누 르 면 해결 이 안 돼 요.전에 어떤 사람 이 모드 대화 상 자 를 말 했다.나 는 잠시 보 았 는데 내 가 원 하 는 효과 가 아니 라 고 생각 했다.popWindow 라면 부모 view 를 제공 해 야 합 니 다.
api 를 다시 보 니 setCancelable 속성 을 설정 하면 됩 니 다.
예:
public void showNoProject(){
Builder builder = new AlertDialog.Builder(MainActivity.this)
.setMessage(" , ")
.setPositiveButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setNegativeButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setCancelable(false);
builder.show();
}
또 다른 두 가지 실현 방법 이 있다.
1.oncreate()방법 에서 Dialog 를 설정 하고 화면 을 클릭 하면 취소 할 수 없습니다.인 스 턴 스 코드 는 다음 과 같 습 니 다.
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
this.setCancelable(false);// Dialog
int style = DialogFragment.STYLE_NORMAL, theme = 0;
setStyle(style,theme);
}
둘째,Activity 를 창의 스타일 로 설정 하여 Dialog 또는 Popupwindow 효 과 를 실현 하 는 것 은 개발 에 자주 사용 되 는 방식 입 니 다.AndroidMenifest.xml 에서 설정 해 야 할 Activity 를 android:theme="@android:style/theme.Dialog"속성 을 추가 하면 됩 니 다.그러나 창 화 된 Activity 의 문 제 는 창 공백 을 클릭 하면 Activity 가 finish 된다 는 것 이다.어떻게 이 문 제 를 피 할 수 있 습 니까?방법 은 다음 과 같 습 니 다.1、resvaluesstyles.xml
<resources>
<style name="Theme.SoundRecorder" parent="@android:style/Theme.Holo.DialogWhenLarge">
<item name="android:windowCloseOnTouchOutside">false</item>
</style>
</resources>
YourActivity.this.setFinishOnTouchOutside(false);
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 는 사용자 정의 alertdialog 를 사용 하여 종료 확인 단 추 를 실행 합 니 다.때때로 우 리 는 게임 이나 응용 프로그램 에서 우리 스타일 에 맞 는 알림 상자(AlertDialog)를 사용 해 야 한다.다음은 내 가 작은 게임 을 개발 하 는 과정 에서 정리 한 것 이다.여러분 에 게 유용 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.