Android 부유 대화 상자(즉,대화 상자 끄 기)구현 코드
<activity android:name=".Main" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
위의 설정 코드 는 전형 적 인 Activity 설정 입 니 다.이 설정 에 action 과 category 를 주로 지정 합 니 다.이 설정 을 누 르 면 Activity 가 전체 화면 에 가득 합 니 다.Android 에 도 많은 프로그램 이 내장 되 어 있 는데 대부분이 Activity 를 포함한다.예 를 들 어 그림 1 은 시계 프로그램 이자 전형 적 인 Activity 이다.부유 활동
부상 Activity 란 데스크 톱 에 떠 있 는 것 으로 대화 상자 처럼 보 입 니 다.그림 2 와 같다.
사실 위의 효 과 를 실현 하 는 것 은 복잡 하지 않 습 니 다.AndroidManifest.xml 파일 에서 Activity 의
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.blogjava.mobile"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/date" android:label="@string/app_name">
<activity android:name=".Main" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text=" "
android:layout_marginLeft="20dp" android:layout_marginRight="20dp" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="center"
android:layout_marginTop="20dp">
<Button android:id="@+id/btnCurrentDate"
android:layout_width="100dp" android:layout_height="wrap_content"
android:text=" " />
<Button android:id="@+id/btnFinish" android:layout_width="80dp"
android:layout_height="wrap_content" android:text=" " />
</LinearLayout>
</LinearLayout>
이 두 단 추 를 누 르 면 이벤트 코드 는 다음 과 같 습 니 다.
public void onClick(View view)
{
switch (view.getId())
{
case R.id.btnCurrentDate:
//
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
"yyyy-MM-dd");
dateDialog.setIcon(R.drawable.date);
dateDialog.setTitle(" :"
+ simpleDateFormat.format(new Date()));
dateDialog.setButton(" ", new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
}
});
dateDialog.setOnDismissListener(new OnDismissListener()
{
@Override
public void onDismiss(DialogInterface dialog)
{
new DateDialog.Builder(Main.this).setMessage(
" .").create().show();
}
});
dateDialog.show();
break;
case R.id.btnFinish:
// Activity
finish();
break;
}
}
'날짜 표시'단 추 를 누 르 면 그림 4 와 같 습 니 다.모든 위치 에서 닫 을 수 있 는 대화 상 자 를 터치 합 니 다.
보통'닫 기'나 비슷 한 단 추 를 누 르 면 Activity 나 대화 상 자 를 닫 습 니 다.그러나 액 티 비 티 나 대화 상 자 를 닫 으 려 면 화면의 모든 위 치 를 누 르 십시오.Activity 를 닫 으 면 처리 하기 쉽 습 니 다.Activity 의 터치 이벤트 만 처리 하면 됩 니 다.코드 는 다음 과 같 습 니 다.
@Override
public boolean onTouchEvent(MotionEvent event)
{
finish();
return true;
}
대화 상자 라면 onTouchEvent 이벤트 방법 도 사용 할 수 있 습 니 다.하지만 보통 AlertDialog 대화 상 자 를 사용 합 니 다.따라서 onTouchEvent 이벤트 방법 을 사용 하려 면 AlertDialog 류 를 계승 해 야 한다.이전 절 에 제 시 된 onClick 방법 에서 현재 대화 상 자 를 표시 하 는 코드 에 DateDialog 류 를 사 용 했 습 니 다.이 종 류 는 AlertDialog 의 하위 클래스 입 니 다.코드 는 다음 과 같 습 니 다.
package net.blogjava.mobile;
import android.app.AlertDialog;
import android.content.Context;
import android.view.MotionEvent;
public class DateDialog extends AlertDialog
{
public DateDialog(Context context)
{
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
//
dismiss();
return super.onTouchEvent(event);
}
}
위의 코드 에서 도 onTouchEvent 이벤트 방법 을 사 용 했 습 니 다.이 방법 에서 대화 상 자 를 닫 기 위해 dismiss 방법 을 호출 했 습 니 다.독 자 는 본 논문 의 예 를 실행 하여 화면의 모든 위 치 를 클릭 하여 대화 상자 와 부상 Activity 를 닫 을 수 있 는 지 볼 수 있 습 니 다.총결산
이 논문 은 부유 Activity 와 터치 가 어느 위치 에서 든 닫 을 수 있 는 대화 상자 의 실현 을 소개 한다.부유 Activity 는
위의 설정 코드 를 사용 할 때 표 시 된 Activity 는 그림 2 와 같 습 니 다.이 예 에 서 는 현재 날짜 와 닫 기 대화 상 자 를 표시 하기 위해 Activity 에 두 개의 단 추 를 추가 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.