▶ Custom Dialog

실행 화면



























소스 위치 : src/com/example/android/apis/app/CustomDialogActivity.java

CustomDialogActivity Class와 매치되는 XML은 custom_dialog_activity.xml
        setContentView(R.layout.custom_dialog_activity);

custom_dialog_activity.xml 파일내용
화면 위치는 정 중앙에 위치하며 부모의 전체 크기를 덮는다.
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:gravity="center_vertical|center_horizontal"
    android:text="@string/custom_dialog_activity_text"/>


android:layout_width 태그 속성
: View의 기본 넓이 설정 (부모의 크기만큼 채우는 fill_parent , 내용의 크기 만큼 채우는 wrap_content)
Constant Value Description
fill_parent -1 The view should be as big as its parent (minus padding).
wrap_content -2 The view should be only big enough to enclose its content (plus padding).


android:layout_width 태그 속성
: View의 기본 높이 설정 (부모의 크기만큼 채우는 fill_parent , 내용의 크기 만큼 채우는 wrap_content)

android:gravity 태그 속성
: 화면 정렬 설정, 값은 다음 값중 하나 또는 그 이상을 설정 가능 ('|' 연산자 사용)
Constant Value Description
top 0x30 Push object to the top of its container, not changing its size.
bottom 0x50 Push object to the bottom of its container, not changing its size.
left 0x03 Push object to the left of its container, not changing its size.
right 0x05 Push object to the right of its container, not changing its size.
center_vertical 0x10 Place object in the vertical center of its container, not changing its size.
fill_vertical 0x70 Grow the vertical size of the object if needed so it completely fills its container.
center_horizontal 0x01 Place object in the horizontal center of its container, not changing its size.
fill_horizontal 0x07 Grow the horizontal size of the object if needed so it completely fills its container.
center 0x11 Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
fill 0x77 Grow the horizontal and vertical size of the object if needed so it completely fills its container.
clip_vertical 0x80 Additional option that can be set to have the top and/or bottom edges of the child clipped to its container's bounds. The clip will be based on the vertical gravity: a top gravity will clip the bottom edge, a bottom gravity will clip the top edge, and neither will clip both edges.
clip_horizontal 0x08 Additional option that can be set to have the left and/or right edges of the child clipped to its container's bounds. The clip will be based on the horizontal gravity: a left gravity will clip the right edge, a right gravity will clip the left edge, and neither will clip both edges.


화면이 붉은색 배경화면으로 되어 있고 제목과 내용의 글자가 다른것은 AndroidManifest.xml에서 Theme가 설정되었기 때문이다.
AndroidManifest.xml 에서 CustomDialogActivity 내용 (Theme가 Theme.CustomDialog로 설정)

        <activity android:name=".app.CustomDialogActivity"
                android:label="@string/activity_custom_dialog"
                android:theme="@style/Theme.CustomDialog">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.SAMPLE_CODE" />
            </intent-filter>
        </activity>


Styles.xml 파일내 Theme.CustomDialog 

    <style name="Theme.CustomDialog" parent="android:style/Theme.Dialog">
        <item name="android:windowBackground">@drawable/filled_box</item>
    </style>

기본 테마는 Theme.Dialog를 따르며 배경 색상만 filled_box 로 설정함

Filled_box.xml 파일 내용
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#f0600000"/>
    <stroke android:width="3dp" color="#ffff8080"/>
    <corners android:radius="3dp" />
    <padding android:left="10dp" android:top="10dp"
        android:right="10dp" android:bottom="10dp" />
</shape>

사각형을 표현하며, 선의 색상은         
테두리 선의 두께는 3dp 색상은          
사각형의 모서리는 원형으로  3dp 만큼
패딩은 각각 10dp씩

하지만 현재 테스트 해본 결과 테스트 선의 색상은 표시 되지 않고 있다. 왜 그럴까? ㅠㅠ
신고

'Android > ApiDemos' 카테고리의 다른 글

App - Activity - Dialog  (0) 2010.03.17
App - Activity - Custom Title  (0) 2010.03.17
App - Activity - Custom Dialog  (0) 2010.03.17
App - Activity - Animation  (0) 2010.03.17
App Demos - App (1/10) Activity  (0) 2010.03.16
API Demos  (0) 2010.03.16
Posted by 까칠코더.


티스토리 툴바