총 게시물 39,100건, 최근 1 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

플래그먼트 상에서 AlertDialog의 위치를 바꾸고 싶다면 어떻게 해야할까요?

글쓴이 : KuRoN 날짜 : 2018-03-09 (금) 18:02 조회 : 1566
글주소 : http://www.androidside.com/B49/169446
 
  COLOR 교보문고
COLOR, 신간, 베스트셀러 업데이트, 최대1만원 할인+바로드림 서비스!
www.kyobobook.co.kr
  위메프 COLOR
오늘의 쿠폰! 디지털가전 최대 10% 할인쿠폰, 균일가, 오늘만특가, COLOR
www.wemakeprice.com/
  COLOR 전문 태광포리머
플라스틱 제품 COLOR 조색 및 드라이칼라 마스터배치 전문생산
www.tk-polymer.co.kr
신청하기


안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang

v.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, final MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {

float x = event.getX();
float y = event.getY();

AlertDialog.Builder alert_four = new AlertDialog.Builder(getActivity());

alert_four.setTitle("현재 좌표");
alert_four.setMessage("X 좌표 : " + String.format("%.2f", x) + "\n" + "Y 좌표 : " + String.format("%.2f", y) );

alert_four.show();

}
return false;
}
});


현재 이 상태인데, 이 상태에서 AlertDialog의 위치를 바꾸려면 어떻게 해야하나요?
getWindow를 사용해서 해보기도 하고, LayoutParams도 써봣는데 제가 방법이 틀린건지 안되더라구요..





질문자가 자신의 포인트 5 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 4을 드립니다.

질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

OSKiller 2018-03-12 (월) 07:42
댓글주소 추천 0 반대 0
     
     
KuRoN 2018-03-12 (월) 08:50
[@OSKiller] 이 방법은 해봤는데요, LayoutParams 시에 앞에 windowManger 라는 단어가 붙어서 일단 해보긴 했습니다만, "=" 뒤 부분에서 제가 지정한 Dialog의 명칭을 쓰고 뒤에 .getActivity()를 먼저 써야하는데 뜨질 않더라구요. 물론 getWindow() 뜨지 않구요... 에러가 발생하더라구요 ㅠ

정리하면,

WindowManger.LayoutParams params = alert_four.getContext() 밖에 뜨질 않더라구요.
플래그먼트에서 getWindow()를 불러오려면 getActivity().getWindow() 이런식으로 해야하지 않나요?
그런데 alert_four. 을 하게 되면 뒤로 getContent() 밖에 뜨지 않고 강제로 getActivity()를 해도 에러가 발생하더라구요
댓글주소 추천 0 반대 0
OSKiller 2018-03-12 (월) 09:01
AlertDialog는 Dialog의 chold라서 getWindow가 있습니다...


댓글주소 추천 0 반대 0
OSKiller 2018-03-12 (월) 09:03
아....코드를 보니...빌더를 가지고 하고 계시군요...
당연히 없겟죠...
show()하기 전에 create()로 Alertdialog를 만들어서 getWindow()하세요
댓글주소 추천 0 반대 0
     
     
KuRoN 2018-03-12 (월) 09:30
[@OSKiller] 오! 정말 감사합니다. 일단 에러는 안나는데 아직 위치의 변경을 일어나질 않네요.
제가 뭔가를 잘못하고 있는거 같아요. 일단 해결해보겠습니다! 정말 감사합니다!
댓글주소 추천 0 반대 0
에찌 2018-03-12 (월) 09:12
alert dialog 말고 custom dialog 를 사용하는게 나으실듯합니다만 ㅋ
댓글주소 추천 0 반대 0
     
     
KuRoN 2018-03-12 (월) 09:31
[@에찌] Custom Dialog가 지금 제 코드상에서는 쓰기는 더 편한건가요?
댓글주소 추천 0 반대 0
          
          
에찌 2018-03-12 (월) 15:24
[@KuRoN] 그건 생각하기 나름인데 Alert 는 UI 를 커스텀하게 디자인하기에 제약이 어느정도 있다는 것이고 Custom 으로 만든다고 하면은 왠만한건 거의다 되신다고 생각하시면 되요 대신에 코드량이 많아지겠죠.

그래도 한번 만들어놓으면 객체 생성만으로도 다이얼로그를 show, hide 할 수 있으니 한번만들어 두시는 것을 추천합니다.

ex) CustomDialog cd = new CustomDialog(this);
cd.show();
보여주기 끝
댓글주소 추천 0 반대 0
               
               
KuRoN 2018-03-12 (월) 15:28
[@에찌] 에찌님 말씀 듣고보니 나중에 어찌될지 모르니 대비해서 Custom 쪽으로 만들어 놓는 것도 괜찮다 싶어서 내일 한번 도전해볼까 생각중입니다! 좋은 정보 감사합니다!!
댓글주소 추천 0 반대 0
                    
                    
에찌 2018-03-14 (수) 09:49
[@KuRoN] 넵^^
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기