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 | 31 |
Tags
- Java
- 에러페이지
- 메소드
- 생성자
- paint
- 클래스
- oracle
- struts2
- 메서드
- 안드로이드
- 국제화
- Android
- layout
- 이클립스
- 기본
- OGNL
- AWT
- HTML
- JavaScript
- 예외처리
- mybatis
- 배열
- Spring
- 오버로딩
- Graphic
- Menu
- 어노테이션
- JSP
- Eclips
- 전화걸기
Archives
- Today
- Total
note
터치해서 화면 전환 Flipper Touch 본문
터치 밀어내서 화면 전환 입니다(스마트폰 배경화면 화면이랑 비슷)
첨부파일 (구글에서 배포하는 파일)
xml파일은 res 폴더에 anim 폴더 생성후 파일을 붙여넣기 하면 됩니다
이미지 파일은 보는 폴더와 같이 하면 됩니다
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ViewFlipper android:id="@+id/flipper" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
package kr.android.flipper.touch; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.ViewFlipper; public class FlipperTouch extends Activity implements View.OnTouchListener { ViewFlipper flipper; // 터치 이벤트 발생 지점의 x좌표 저장 float down_x; float up_x; int[] imageItems; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); imageItems = new int[] { R.drawable.image01, R.drawable.image02, R.drawable.image03 }; flipper = (ViewFlipper) findViewById(R.id.flipper); for (int i : imageItems) { ImageView image = new ImageView(this); image.setImageResource(i); flipper.addView(image, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); } flipper.setOnTouchListener(this); } public boolean onTouch(View v, MotionEvent event) { // 터치 이벤트가 일어난 뷰가 ViewFlipper가 아니면 return if (v != flipper) return false; if (event.getAction() == MotionEvent.ACTION_DOWN) { // 터치 시작지점 x좌표 저장 down_x = event.getX(); } else if (event.getAction() == MotionEvent.ACTION_UP) { // 터치 끝난 지점 X좌표 저장 up_x = event.getX(); if (up_x < down_x) { // 터치 할때 왼쪽방향으로 진행 flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in)); flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out)); flipper.showNext(); } else if (up_x > down_x) { // 터치할때 오른쪽 방향으로 진행 flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in)); flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out)); flipper.showPrevious(); } } return true; } }
'Android > 기본' 카테고리의 다른 글
Xml 가져오기 (날씨) (0) | 2012.01.19 |
---|---|
SQLite 연동하기 (0) | 2012.01.18 |
ListIcon (ListView에 아이콘,버튼) (0) | 2012.01.18 |
News Service 주기적으로 데이터 가지고 오기 (0) | 2012.01.18 |
SMSReceiver (BroadcastReceiver사용) (0) | 2012.01.18 |