스마트폰앱

오늘:
2,081
어제:
2,822
전체:
2,720,170

고객센타 : 070-7752-2000
팩스 : 070-7752-2001
휴대폰 : 010-9513-0019
email : voipkorea@yahoo.co.kr

국민은행
(주)제이에스솔루션
047101-04-155519

Flag Counter
■ 무료 : 유선 집전화 휴대폰 ( 한국 미국 중국 카나다) ↔ (국내 해외 여행자 상사 주재원 유학생) / 가입무 무제한무료■

http://www.androidbegin.com/tutorial/android-dialogfragment-tutorial/



Android DialogFragment Tutorial

In this tutorial, you will learn how to implement a DialogFragment in your Android application. A DialogFragment is a fragment that displays a dialog window, floating on top of its activity’s window. This fragment contains a Dialog object, which it displays as appropriate based on the fragment’s state. Alternatively, you can create an entirely custom dialog, such as an AlertDialog, with its own content. We will create buttons that will show a DialogFragment and a custom Alert DialogFragment.

Create a new project in Eclipse File > New > Android Application Project. Fill in the details and name your project DialogFragmentTutorial.

Application Name : DialogFragmentTutorial

Project Name : DialogFragmentTutorial

Package Name : com.androidbegin.dialogfragmenttutorial

Open your MainActivity.java and paste the following code.

MainActivity.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
package com.androidbegin.dialogfragmenttutorial;
 
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends FragmentActivity {
 
    Button dfragbutton;
    Button alertdfragbutton;
    FragmentManager fm = getSupportFragmentManager();
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Get the view from activity_main.xml
        setContentView(R.layout.activity_main);
 
        // Locate the button in activity_main.xml
        dfragbutton = (Button) findViewById(R.id.dfragbutton);
        alertdfragbutton = (Button) findViewById(R.id.alertdfragbutton);
 
        // Capture button clicks
        dfragbutton.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {
                DFragment dFragment = new DFragment();
                // Show DialogFragment
                dFragment.show(fm, "Dialog Fragment");
            }
        });
 
        // Capture button clicks
        alertdfragbutton.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {
                AlertDFragment alertdFragment = new AlertDFragment();
                // Show Alert DialogFragment
                alertdFragment.show(fm, "Alert Dialog Fragment");
            }
        });
    }
}

In this activity, we have created two buttons that will show different dialog fragments. The first button will show a simple DialogFragment and another with a custom Alert DialogFragment.

Next, create an XML graphical layout for the MainActivity. Go to res > layout > Right Click on layout > New > Android XML File

Name your new XML file activity_main.xml and paste the following code.

activity_main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <Button
        android:id="@+id/dfragbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/dialogfragment" />
 
    <Button
        android:id="@+id/alertdfragbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/dfragbutton"
        android:layout_centerInParent="true"
        android:text="@string/alertdialogfragment" />
 
</RelativeLayout>

Next, create a fragment. Go to File > New > Class and name it DFragment.java. Select your package named com.androidbegin.dialogfragmenttutorial and click Finish.

Open your DFragment.java and paste the following code.

DFragment.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.androidbegin.dialogfragmenttutorial;
 
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
 
public class DFragment extends DialogFragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.dialogfragment, container,
                false);
        getDialog().setTitle("DialogFragment Tutorial");       
        // Do something else
        return rootView;
    }
}

Next, create an XML graphical layout for the DialogFragment. Go to res > layout > Right Click on layout > New > Android XML File

Name your new XML file dialogfragment.xml and paste the following code.

dialogfragment.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:padding="10dp"
        android:text="@string/welcome" />
 
</RelativeLayout>

Next, create another fragment. Go to File > New > Class and name it AlertDFragment.java. Select your package named com.androidbegin.dialogfragmenttutorial and click Finish.

Open your AlertDFragment.java and paste the following code.

AlertDFragment.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
package com.androidbegin.dialogfragmenttutorial;
 
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
 
public class AlertDFragment extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        return new AlertDialog.Builder(getActivity())
                // Set Dialog Icon
                .setIcon(R.drawable.androidhappy)
                // Set Dialog Title
                .setTitle("Alert DialogFragment")
                // Set Dialog Message
                .setMessage("Alert DialogFragment Tutorial")
 
                // Positive button
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // Do something else
                    }
                })
 
                // Negative Button
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,    int which) {
                        // Do something else
                    }
                }).create();
    }
}

In this fragment, we have created custom alert DialogFragment that consist of two buttons, a positive and negative. We have prepared a sample alert dialog icon for this tutorial. Insert your downloaded sample alert dialog icon into your res > drawable-hdpi.

Sample Alert Dialog Icon

Androidhappy (1.2 KiB, 179 downloads)

Next, change the application name and texts. Open your strings.xml in your res > values folder and paste the following code.

strings.xml

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<resources>
 
    <string name="app_name">DialogFragment Tutorial</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="welcome">This is a DialogFragment.</string>
    <string name="dialogfragment">Open DialogFragment</string>
    <string name="alertdialogfragment">Open Alert DialogFragment</string>
 
</resources>

No changes needed for the AndroidManifest.xml.

AndroidManifest.xml

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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.androidbegin.dialogfragmenttutorial"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>

Output:

DialogFragment ScreenShots

Source Code

조회 수 :
6922
등록일 :
2014.02.09
18:24:26 (*.251.139.148)
엮인글 :
http://webs.co.kr/index.php?document_srl=38610&act=trackback&key=2cf
게시글 주소 :
http://webs.co.kr/index.php?document_srl=38610
List of Articles
번호 제목 글쓴이 날짜 조회 수
64 Sqlite detail easy tutorial. admin 2017-09-09 190
63 Change package name Linphone Android admin 2017-08-25 300
62 Liblinphone - import Linphone library in Android Studio 2017 admin 2017-08-25 303
61 I am able to build the limphone on mac by follow the steps describe here admin 2017-08-25 297
60 To build liblinphone for Android, you must COMPILATION INSTRUCTIONS admin 2017-08-25 287
59 sipdroid source code admin 2017-08-08 363
58 안드로이드 주소록 전체가져오기 이름만가져오기 사진가져오기 코드 admin 2015-04-13 5649
57 the sipdroid Research Miscellaneous admin 2015-03-26 2763
56 HSS070 English Korean 무료 국제전화 미국 중국 카나다 무료 통화 제공 admin 2014-12-28 4030
55 Softphones admin 2014-09-20 4467
54 /xxxxx/gen already exists but is not a source folder. Convert to a source folder or rename it. admin 2014-09-03 4879
53 CSIPSimple building Rebuilding Detail on Eclips Good All is heare perfect admin 2014-08-15 4827
52 Improving QoE of SIP-based Automated Voice Interaction in Mobile Networks file admin 2014-03-20 5637
51 speex support in android admin 2014-03-19 5864
50 voxmobile Source and how to build admin 2014-02-18 6236
49 PJSIP hung the phone constantly corrected the problem admin 2014-02-09 6672
48 Csipsimple code rebuilding source sip 통신 Call Mechanism admin 2014-02-09 18380
47 Csipsimple code rebuilding source sip 통신 technical interviewer admin 2014-02-09 6629
46 Csipsimple code rebuilding source 주요인터페이스분석 admin 2014-02-09 32731
45 Csipsimple code rebuilding source 다운로드 구성 csipsimple 소스 프로젝트 admin 2014-02-09 7696
» Android DialogFragment Tutorial admin 2014-02-09 6922
43 Creating a fullscreen DialogFragment with a custom background admin 2014-02-09 9366
42 [Android API] 네트워크 상태 체크하기 admin 2013-12-19 8284
41 [안드로이드] 네트워크 연결 상태 체크 함수. admin 2013-12-19 7613
40 안드로이드 인터넷연결체크 ( 3g/lte/wifi ) 메서드 admin 2013-12-19 13965
39 Android Get Phone Contacts details with Contact Image admin 2013-12-15 6944
38 안드로이드 커스텀 타이틀바 How to add custom title bar to android application admin 2013-10-02 9306
37 How to create a custom title bar admin 2013-07-15 9550
36 Rotary Dialer clip art admin 2013-04-20 17195
35 Java 프로그램 실행화일 만들기 : Launch4j admin 2013-02-21 10205
34 java network programming source code, learning socket programming admin 2012-12-04 10330
33 2X Client Configuration | Android Remote Desktop 안드로이드 PC 리모트 데스크탑 admin 2012-12-02 12105
32 WIFI 3G 인터넷 연결 실시간 체크 소스코드 Broadcast Receiver 사용 (Adnroid) admin 2012-10-31 16430
31 통신사별 와이파이 비밀번호 admin 2012-10-31 14407
30 팁, wifi 패스워드 모음집 password admin 2012-10-21 10688
29 Android User Session Management using Shared Preferences admin 2012-10-16 32031
28 Unicode Tables v4 admin 2012-10-16 22976
27 HTML Codes admin 2012-10-16 9648
26 IBM Scan Codes EBCDIC Codes admin 2012-10-16 11822
25 ASCII Table and Description admin 2012-10-16 11131
24 How to Show Alert Dialog in Android (간단하고 쉬운설명) admin 2012-10-15 22131
23 How to read contacts on Android 2.0 admin 2012-10-14 13170
22 WIFI 3G 인터넷 연결 체크 소스코드 직접 사용한 코드 android admin 2012-10-14 15089
21 Android Detect Internet Connection Status admin 2012-10-12 20645
20 JAVA + SSL (server and client examples) admin 2012-10-07 22184
19 Querying The Android Contact Database admin 2012-09-30 10537
18 Manage Contacts android admin 2012-09-30 12497
17 Android Contacts API 2 example admin 2012-09-30 13596
16 Android 2.0 주소록 동기화 기능 admin 2012-09-30 38735
15 안드로이드용 앱 개발 마켓등록 까지 해본거 샘플 무료국제전화 앱 FreeDialer admin 2012-09-27 14574
14 아이폰 IPhone 앱 개발 기본 admin 2012-09-27 11228
13 [안드로이드/개발] Intent admin 2012-09-23 17572
12 안드로이드 타이머 절적한 설명과 간단한소스코드 등 안드로이드 프로그램 설명 깔끔 admin 2012-09-23 28220
11 google voice source code admin 2012-09-22 10525
10 [안드로이드] 서버/클라이언트 소켓(Socket) 통신하기 admin 2012-09-20 20390
9 FreeDial 무료국제전화는 프리미엄 국제전화 다이렉트 회선사용 admin 2012-09-20 11611
8 Android SQlite 사용 admin 2012-09-04 11138
7 안드로이드마켓에 앱 등록하는 순서 admin 2012-08-19 41835
6 전화관련 안드로이드함수 admin 2012-08-18 15147
5 자바 ,이클립스,Android SDK, ADT 설치하여 무료국제전화 다이얼러를 만들어봅시다. admin 2012-08-06 15698
4 아이폰용 무료국제전화용 무료 다이얼러 Speedydialer 설치및 사용방법 file admin 2012-07-14 11055
3 접속번호 + 상대방번호 # 를 주소록에 전화번호로 저장하여 사용하면 편리하다 admin 2012-06-17 13016
2 App Store - ILD Dialer admin 2012-06-17 9599
1 한국휴대폰에서 미국 중국 카나다 무료 국제전화 서비스 admin 2012-04-27 9955