Android 사용자 정의 Dialog 및 Activity와의 상호 작용
———————————————————————————————
내용은 간단합니다. Linear Layout 레이아웃 하나에 ImageView, TextView가 있습니다.LinearLayout은 둥근 사각형의 효과를 실현하기 위해 shape 배경을 사용했다.코드는 다음과 같습니다(shape conner white bg.xml): -----------------------
------------------------둘째, 사용자 정의DialogUtils 클래스, 코드는 다음과 같다. -----------------------------------
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
import android.graphics.drawable.Drawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class DialogUtils
{
private static TextView tipTextView;
private static Dialog MyDialog;
private static ImageView image_Icon;
private static LinearLayout layout_dialog;
//Dialog ,Contex ,msg ,icon_draw 。
public static void showCompleteDialog(final Context context,String msg,Drawable icon_draw)
{
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.dialog_custom, null);// view
tipTextView = (TextView) v.findViewById(R.id.tv_toast_content);//
image_Icon=(ImageView)v.findViewById(R.id.im_toast_icon);//
tipTextView.setText(msg);//
image_Icon.setImageDrawable(icon_draw);
layout_dialog=(LinearLayout) v.findViewById(R.id.layout_dialog);
layout_dialog.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
MyDialog.dismiss();
}
});
MyDialog = new Dialog(context, R.style.MyDialogStyle);// dialog
MyDialog.setCancelable(true); // “ ” Dialog
MyDialog.setCanceledOnTouchOutside(true); // Dialog
// MyDialog Activity
MyDialog.setOnDismissListener(new OnDismissListener()
{
@Override
public void onDismiss(DialogInterface dialog)
{
//MyDialog.getOwnerActivity().finish();
Activity act=(Activity)context;
act.finish();
MyDialog.dismiss();
}
});
MyDialog.setContentView(v, new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));//
/** * Dialog */
Window window = MyDialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = 900;
lp.height = 360;
lp.y=-150;
window.setGravity(Gravity.CENTER_HORIZONTAL);
window.setAttributes(lp);
MyDialog.show();
}
}
여기서 MyDialogStyle은res/values/style에서 정의됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.