버튼 클릭으로 EditText를 추가 한다
그리고 추가된 각각의 EditText에 이벤트를 걸어준다.
가끔 선택이 안되는 버그가 있다 이유를 모르겠다.
//객체 추가 생성 메소드
public void btnTextViewAdd(View v) {
incrementID++;
addEditText = new EditText(PhotoUpload.this);
addEditText.setText("내용 입력 하는 곳");
addEditText.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
addEditText.setPadding(150, 150, 50, 10);
addEditText.setBackgroundColor(Color.TRANSPARENT);
addEditText.setId(incrementID);
addEditTextList.add(addEditText);
lytCropMain.addView(addEditTextList.get(incrementID));
int j=0;
for(int i=-1;i< incrementID; i++){
j = i;
j++;
addEditTextList.get(j).setOnLongClickListener(mLongClickListener);
addEditTextList.get(j).setOnTouchListener(mTouchListener);
}
}
View.OnLongClickListener mLongClickListener = new View.OnLongClickListener() {
public boolean onLongClick(View v) {
//이동시 팝업 실행 안함~!
if(MotionEvent.ACTION_MOVE != eventaction){
Intent intent = new Intent(PhotoUpload.this, PopSetFont.class);
startActivityForResult(intent, EDIT_TEXT_RESULT);
}
Log.i("LONG1", "longclick");
return true;
}
};
View.OnTouchListener mTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int X = (int) event.getX();
int Y = (int) event.getY();
eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_UP :
Log.i("A1", "UP" + X + "," + Y+","+v.getId());
break;
case MotionEvent.ACTION_MOVE :
Log.i("B1", "MOVE" + X + "," + Y+","+v.getId());
// addEditText.setPadding(X-50, Y, 50, 10);
addEditTextList.get(selectID).setPadding(X-50, Y, 50, 10);
break;
case MotionEvent.ACTION_DOWN :
selectID = v.getId();//이게 중요했다
Log.i("C1", "DOWN" + X + "," + Y+","+v.getId());
break;
}
return false;
}
};
'자료' 카테고리의 다른 글
안드로이드 위치 주소정보 가져오는 방법 (1) | 2012.04.27 |
---|---|
Android에서 NDK + JNI + FFmpeg 사용 (4) | 2012.03.27 |
이미지 URL을 ListView에 뿌리고 스크롤시 버벅 거림 해결~~!! (0) | 2012.02.29 |
Intent 활용 예시 (2) | 2012.02.07 |
갤러리 공유 기능 추가하기 (0) | 2012.02.06 |