안드로이드 2.1 API레벨 7 로 다이얼로그를 구현중입니다.
일단 원 터치하면 종료까지 구현했는데 윈 터치한상태에서 위아래로 당기면
스크롤 기능까지 구현하려고 하는데 잘 안되네요 뭐가 문제인지 좀 알려주시면 안될까요?
warnning.JAVA 내용
package com.he.Center;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.app.*;
import android.os.*;
import android.view.*;
import android.view.GestureDetector.OnGestureListener;
import android.widget.*;
import android.content.*;
public class warnning extends Activity implements View.OnTouchListener{
ScrollView s;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.warnning);
s = (ScrollView)findViewById(R.id.linear);
s.setOnTouchListener(this);
}
public boolean onTouch(View v, MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN)
{finish();
return true;
}
return false;
}
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.submenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.backspace:
this.finish();
case R.id.home:
finish();
return true;
}
return false;
}
}
warnning.xml 내용
<?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" android:visibility="visible">
<ScrollView
android:id="@+id/linear"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical">
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="0">
<ImageView android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/gumjin"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#FFFFFF"
android:typeface="monospace"
android:text="*저녁식사는 저녁 7-8시경에 가볍게 드시고(술, 육류 삼가) 오후 9시 이후는 음식물은 물론 물도 드시지 마십시오.\n*음주 및 과식, 지나친 피로 등은 피해 주십시오.\n*꼭 필요한 약(당뇨, 고혈압약 등)은 오후 9시 이전에 드십시오."
android:layout_marginBottom="20sp"/>
<ImageView android:id="@+id/ImageView02"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/gumjin2"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#FFFFFF"
android:typeface="monospace"
android:text="*아침식사는 물론 물, 껌 약 등을 일체 드시지 마시고, 금연하여 주십시오.\n*고혈압, 심장병 약은 검진 당일 새벽 6시에 소량의 물과 함께 반드시 복용하십시오.\n*당뇨 약은 검진 48시간 전부터 드시지 마십시오."
/>
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
/>
</TableLayout>
</ScrollView>
</LinearLayout>
</ScrollView>
</LinearLayout>
고수님들 부탁드립니다 ㅜ_ㅜ
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
xAtDown = event.getX(); // 터치 시작지점 x좌표 저장
} else if (event.getAction() == MotionEvent.ACTION_UP) {
xAtUp = event.getX(); // 터치 끝난지점 x좌표 저장
if (xAtUp > xAtDown) {
finish();
}
}
return true;
}
전 위에 소스처럼... 왼쪽으로 드래그시 전 화면으로 넘어가는걸 했는데..
위에 소스를 어떻게 잘 개조 하시면 될듯도 한데요 ..?
좋은 답변이 되길 바랍니다...