APK디컴파일해서 힌트라도 얻어보려했습니다만 어딜가나 막히네요 -ㅅ-
swipepad 디컴파일한겁니다
s = new android.view.WindowManager.LayoutParams(-1, -1, 2006, 4920, -3);
s.gravity = 17;
s.dimAmount = 1.0F;
y.setVisibility(4);
d.addView(y, s);
z = (TextView)y.findViewById(0x1020004);
f = (PadGrid)y.findViewById(0x7f09000c);
PadGrid padgrid = f;
int i1;
IntentFilter intentfilter;
IntentFilter intentfilter1;
if(getResources().getConfiguration().orientation == 1)
i1 = b;
else
i1 = a;
padgrid.setNumColumns(i1);
f.setEmptyView(z);
f.setAdapter(u1);
a(getResources().getConfiguration());
g = (TextView)y.findViewById(0x7f09000b);
i();
r = new android.view.WindowManager.LayoutParams(-1, -1, 2006, 4888, 1);
r.gravity = 83;
x = new FingertipOverlay(this);
x.setVisibility(4);
d.addView(x, r);
변수 s 는 윈도우 매니져 타입 LayoutParams입니다.
변수 r 또한 마찬가지.
d는 윈도우 매니져입니다.
여기서 궁극적인 목적은 최상위 뷰에서 어떻게하면 사용자의 입력에서 터치무브이벤트를 받느냐 입니다.
그리고 여튼 밑줄친 녀석의 인수중에
LayoutParams(int w, int h, int _type, int _flags, int _format)
2006 4888 1
2006 = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY //최상위에 뷰를 배치
요녀석들이 뭐하는녀석들인지-ㅅ-;;
그리고 서비스 에서 결과론적으로 밑에녀석 로그좀 나오게 할수는 없는건가요??
class RunningServiceTest extends Service implements OnTouchListener{
private TextView tv; //항상 보이게 할 뷰. 멤버필드로 선언
@Override
public void onCreate() {
super.onCreate();
tv = new TextView(this); //뷰 생성
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 17);
WindowManager.LayoutParams params =new WindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,PixelFormat.TRANSLUCENT); //
wmanager = (WindowManager) getSystemService(WINDOW_SERVICE); //윈도 매니저
wmanager.addView(tv, params);
}
,
, 나머지 오버라이드된 서비스시작과 종료 메서드들..
,
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Log.d("tag","멍멍");
return false; //<-- true , false요넘 하는 역할도 알고싶어요 뭐가달라지는지..?
} //onTouch
} //class
제가 찾아낸결과 tv.onTouch 해서 리스너를 등록하면 터치는 되는걸로 알고있습니다만.
저는 터치무브를 받아야하기때문에 패스 ㅜㅜ




가드된 코드인가보죠..