프로젝트/키오스크개발
목동코딩, 안드로이드 커스텀다이얼로그 이미지를 동적으로 변경하는 방법
목동코딩학원
2021. 9. 30. 15:38
728x90
목동코딩학원 : 안드로이드 교육
안드로이드로 앱을 개발하다 보면, 안드로이드에서 제공하는 Toast 메시지로만 처리하기에는 조금 부족한 면이 있다. 그래서 Toast 역시 커스터마이징 해서 표시되는 위치나 글자 크기, 색상 등을 변경해서 사용하곤 했다.
이번에는 커스텀 다이얼로그를 만들어서 이미지 까지 포함하는 메시지를 사용하는 방법을 정리해둔다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="500dp"
android:layout_height="500dp"
android:gravity="center"
android:layout_marginBottom="30dp"
android:layout_marginTop="50dp"
android:background="#ffffff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="#ffffff"
android:orientation="vertical">
<TextView
android:id="@+id/custom_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:text="이용약관"
android:textSize="40dp" />
<TextView
android:id="@+id/custom_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:text="확인합니다"
android:textSize="20dp" />
<ImageView
android:id="@+id/custom_image"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/common_member" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:layout_marginTop="20dp"
android:weightSum="100">
<Button
android:id="@+id/pbutton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50"
android:text="확인" />
<Button
android:id="@+id/nbutton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50"
android:text="취소" />
</LinearLayout>
</LinearLayout>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//다이얼로그 밖의 화면은 흐리게 만들어줌
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
layoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
layoutParams.dimAmount = 0.8f;
getWindow().setAttributes(layoutParams);
setContentView(R.layout.custom_dialog);
full_screen();
//셋팅
mTitle = (TextView)findViewById(R.id.custom_title);
mText = (TextView)findViewById(R.id.custom_text);
mImage = (ImageView)findViewById(R.id.custom_image);
mTitle.setText(sTitle);
mText.setText(sText);
mImage.setImageResource(R.drawable.common);
mPositiveButton=(Button)findViewById(R.id.pbutton);
mNegativeButton=(Button)findViewById(R.id.nbutton);
//클릭 리스너 셋팅 (클릭버튼이 동작하도록 만들어줌.)
mPositiveButton.setOnClickListener(mPositiveListener);
mNegativeButton.setOnClickListener(mNegativeListener);
}
String title = "구매등록";
String text1 = "이용권 구매를 완료했습니다";
customDialog = new CustomDialog(AmountActivity.this,positiveListener,negativeListener);
customDialog.setsTitle(title);
customDialog.setsText(text1);
customDialog.show();
728x90