Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- fragment
- MySQL
- android error
- R프로그래밍
- android fragment
- Firebase
- Kotlin
- Android
- jQuery
- Exception
- Android Apk 이름 변경
- Eclipse
- CSS사용법
- Android Apk
- Program type already present
- java error
- DataTable
- spring
- tomcat
- release unsigned
- JavaScript
- Java
- 안드로이드
- error
- FLUTTER
- css
- apache gzip
- html
- Android Apk 이름
- release Apk
Archives
- Today
- Total
selfstarter
How to make Simple CustomDialog in Android 본문
How to make Simple CustomDialog in Android
custom dialog는 content, ok버튼, cancle 버튼으로 이루어져 있다
그리고 상황에 따라 알맞은 content를 보여줘야 한다.
(content에는 종료시엔 종료하시겠습니까?란 글자가 보이는 화면이 나오거나, 무언가를 선택해야 하면 checkbox가 있는 화면이 보여야 한다)
여러개의 view를 보여주는 방법은 custom dialog에 framelayout을 넣어서 보여주고 싶은 view를 addView 하면 된다.
구현은 아래와 같다
1. content view xml 만들기(dialog_calendar_view.xml)
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<!-- content 내용 -->
</androidx.constraintlayout.widget.ConstraintLayout>
2. custom dialog xml 만들기
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<FrameLayout
android:id="@+id/dialog_calendar_frame_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_weight="9"
/>
<Button
android:id="@+id/ok_btn"
android:layout_width="0dp"
android:layout_height="50dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/cancle_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_weight="1"
android:text="@string/ok"
android:textSize="20dp" />
<Button
android:id="@+id/cancle_btn"
android:layout_width="0dp"
android:layout_height="50dp"
app:layout_constraintStart_toEndOf="@id/ok_btn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_weight="1"
android:text="@string/cancel"
android:textSize="20dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
3. custom view xml과 연동되는 custom view class 만들기
4. custom view class 에서 inflate로 view 실체화 하기
view = layoutInflater.inflate(R.layout.dialog_calendar_view, null);
5. 실체화한 view를 frameLayout에 넣어서 화면에 보여주기
기본적으로 frameLayout에 있는 view는 한개로, 만약 view를 변경하고 싶다면 0번째 view를 삭제 후(무조건 1개이므로 0번째 index view만 존재한다) 보여줄 view를 addView 하면 된다
frameLayout.addView(calendarView.getView());
'App > Android' 카테고리의 다른 글
Flutter SDK, Android, VSCode 설치 (0) | 2020.06.29 |
---|---|
Dart 기본 문법 정리(Dart Basic Grammar) (0) | 2020.06.27 |
constraintlayout weight (0) | 2020.06.20 |
Android drawable image에서 bitmap으로 변환 (0) | 2020.06.15 |
Android Example with Fragment and ToolBar (0) | 2020.06.04 |
Comments