특정 EditText를 터치하면 오른쪽에서 슬라이딩 메뉴가 열리면서
새로운 검색창이 나오는 형태의 액티비티를 만들었습니다.
슬라이딩까지는 성공했는데... 슬라이딩 된 메뉴의 에디트텍스트에 포커싱이 되면
자동으로 다시 원상복귀가 되네요. 혹시 문제가 뭔지 알수 있을까요?
------ 뷰 초기화 부분
// 레이아웃 초기화
mainFrame = (LinearLayout)findViewById(R.id.detailMainFrame);
subFrame = (LinearLayout)findViewById(R.id.detailSubFrame);
// 처음에는 서브프레이 터치 안되도록 함
enableDisableViewGroup(subFrame, false);
// 각 필드 초기화
buttonBackHome = (ImageButton)findViewById(R.id.button_backHome);
buttonBackPage = (ImageButton)findViewById(R.id.button_backPage);
fieldInitialize();
------ 이벤트 리스너 부분
searchStringView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 더미프레임 생성
//dummyFrame = new LinearLayout(GoodsDetail.this);
//dummyFrame.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
//dummyFrame.setBackgroundColor(Color.parseColor("#55000000"));
//detailFrame.addView(dummyFrame);
// 애니메이션 객체 초기화
frameW = mainFrame.getWidth();
frameH = mainFrame.getHeight();
int quater = (int)(frameW * 0.25);
slideOpen = new TranslateAnimation(0, quater * -3, 0, 0);
initSlideOpen(quater * -3, quater);
}
});
------ 애니메이션 구현부분
private void initSlideOpen(final int left, final int right){
// 서브프레임 패딩설정
subFrame.setPadding(right, 0, 0, 0);
slideOpen.setDuration(250);
slideOpen.setFillAfter(true);
slideOpen.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
//dummyFrame.layout(left, 0, right, frameH);
mainFrame.layout(left, 0, right, frameH);
//dummyFrame.clearAnimation();
mainFrame.clearAnimation();
enableDisableViewGroup(subFrame, true);
}
});
mainFrame.startAnimation(slideOpen);
}
소스는 위와 같습니다. 아래는 결과 화면입니다.
(부득이하게 일부 컨텐츠는 모자이크 처리하였습니다. 죄송합니다. ㅠㅠ)
초기화면은 위와 같이 선택한 제품의 디테일한 정보를 보는 부분이고
중간에 있는 [전체보기] 버튼 옆의 텍스트박스를 터치하면 아래와 같이 슬라이드가 됩니다.
슬라이드 된 화면입니다. 여기서 또다시 특정 목록을 불러와서 선택할수 있게 해야되는데 위에 보이는
[검색어를 입력하세요] 부분 (투명한 EditText입니다)을 터치해서 포커스를 주게되면 키패드가 뜨긴 뜨
는데.....
이처럼 원래 화면으로 돌아와버립니다.
으아아아아아앙ㄱ ㅠㅠ
아직 슬라이드가 닫히는 화면은 구성하지 않았기때문에
그게 실행되거나 하는건 아니고 아마 애니메이션쪽이랑 무슨 관련이 있지 않나 추측은 해보는데
솔직히 잘 모르겠습니다. ㅠㅠ
고수님들의 조언 부탁드립니다.