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