티스토리 뷰
TestCustomDialogActivity.Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package arabiannight.tistory.com; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Toast; import arabiannight.tistory.com.popup.CustomDialog; public class TestCustomDialogActivity extends Activity { private CustomDialog mCustomDialog; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClickView(View v){ switch (v.getId()) { case R.id.bt_main: mCustomDialog = new CustomDialog( this , "8월의 크리스마스!!" , "영화보러가자~!!!" , leftClickListener, rightClickListener); mCustomDialog.show(); break ; } } private View.OnClickListener leftClickListener = new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "왼쪽버튼 Click!!" , Toast.LENGTH_SHORT).show(); } }; private View.OnClickListener rightClickListener = new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "오른쪽버튼 Click!!" , Toast.LENGTH_SHORT).show(); } }; } |
CustomDialog.Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | package arabiannight.tistory.com.popup; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.widget.Button; import android.widget.TextView; import arabiannight.tistory.com.R; public class CustomDialog extends Dialog{ @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); WindowManager.LayoutParams lpWindow = new WindowManager.LayoutParams(); lpWindow.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND; lpWindow.dimAmount = 0 .8f; getWindow().setAttributes(lpWindow); setContentView(R.layout.custom_dialog); setLayout(); setTitle(mTitle); setContent(mContent); setClickListener(mLeftClickListener , mRightClickListener); } public CustomDialog(Context context) { // Dialog 배경을 투명 처리 해준다. super (context , android.R.style.Theme_Translucent_NoTitleBar); } public CustomDialog(Context context , String title , View.OnClickListener singleListener) { super (context , android.R.style.Theme_Translucent_NoTitleBar); this .mTitle = title; this .mLeftClickListener = singleListener; } public CustomDialog(Context context , String title , String content , View.OnClickListener leftListener , View.OnClickListener rightListener) { super (context , android.R.style.Theme_Translucent_NoTitleBar); this .mTitle = title; this .mContent = content; this .mLeftClickListener = leftListener; this .mRightClickListener = rightListener; } private void setTitle(String title){ mTitleView.setText(title); } private void setContent(String content){ mContentView.setText(content); } private void setClickListener(View.OnClickListener left , View.OnClickListener right){ if (left!= null && right!= null ){ mLeftButton.setOnClickListener(left); mRightButton.setOnClickListener(right); } else if (left!= null && right== null ){ mLeftButton.setOnClickListener(left); } else { } } private TextView mTitleView; private TextView mContentView; private Button mLeftButton; private Button mRightButton; private String mTitle; private String mContent; private View.OnClickListener mLeftClickListener; private View.OnClickListener mRightClickListener; /* * Layout */ private void setLayout(){ mTitleView = (TextView) findViewById(R.id.tv_title); mContentView = (TextView) findViewById(R.id.tv_content); mLeftButton = (Button) findViewById(R.id.bt_left); mRightButton = (Button) findViewById(R.id.bt_right); } } |
TestCustomDialog.zip
'Computer > Android' 카테고리의 다른 글
[Android] 키보드 감추기/보이기 (0) | 2015.04.05 |
---|---|
[Android] ACTIVITY 전환시 액티비티의 History 관련 설정 (0) | 2015.02.25 |
[ Android / EditText ] Keyboard 이벤트, 타입 변경 (0) | 2014.09.03 |
안드로이드 치수 크기 사이즈 size (0) | 2014.03.08 |
안드로이드 서비스를 부팅시 시작시키기 (Start Service at Boot Time) (0) | 2014.02.28 |
댓글