Android 부유 대화 상자 코드 구현

먼저 효과 도 를 보 여 드 리 겠 습 니 다.효과 가 만 족 스 럽 습 니 다.실현 코드 를 참고 하 세 요.

직접 코드 올 리 기:

private void setDialog(){
View view = getLayoutInflater().inflate(R.layout.dialog_country, null);
mDialog = new Dialog(this);
mDialog.setContentView(view, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
Window window = mDialog.getWindow();
WindowManager.LayoutParams wl = window.getAttributes();
wl.x = 0;
wl.y = getWindowManager().getDefaultDisplay().getHeight();
wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
mDialog.onWindowAttributesChanged(wl);
mDialog.setCanceledOnTouchOutside(true);
mDialog.show();
Button btnChina = (Button) view.findViewById(R.id.btnChina);
Button btnUSA = (Button) view.findViewById(R.id.btnUSA);
Button btnUK = (Button) view.findViewById(R.id.btnUK);
Button btnCancel = (Button) view.findViewById(R.id.btnCancel);
btnChina.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mQuery.id(R.id.btnCountry).getTextView().setText("China");
mDialog.dismiss();
} 
});
btnUSA.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mQuery.id(R.id.btnCountry).getTextView().setText("USA");
mDialog.dismiss();
} 
});
btnUK.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mQuery.id(R.id.btnCountry).getTextView().setText("UK");
mDialog.dismiss();
} 
});
btnCancel.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mDialog.dismiss();
} 
});
}
먼저 inflate xml 파일 을 만 들 고 view 를 만 듭 니 다.Dialog 를 만 들 고 Dialog 의 View 를 inflate view 로 설정 합 니 다.그리고 Window Manager.LayoutParams 를 통 해 Dialog 의 길이,너비,표 시 된 위치 등 을 설정 하고 마지막 으로 setCanceledOnTouch Outside(true)를 클릭 하여 다른 곳 을 클릭 하면 Dialog 를 종료 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기