마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Drag뷰 사용시 좌우 위치 고정에 대하여 질문드려요 ^^

0 추천
-레이아웃 구조
 
ScrollView 내부에 리니어 레이아웃이 있구요
 
리니어레이아웃 안에 아이템 뷰들을 추가한 구조 입니다.
 
-질문입니다.
startDrag 메소드를 하용하면 뷰를 드래그 하고 있습니다.
뷰를 드래그 하게 되면 상하 좌우가 자유롭게 움직이는데
 
좌우를 고정하고 상하만 움직이도록 하고 싶습니다. 가능할까요 ?
 
검색중에 아래의 커스텀 쉐도우 빌더를 찾았는데 
canvas 메소드를 사용하여 쉐도우뷰 좌우이동을 고정 시킬 수 있는지도 궁금합니다. 
 
public class CustomDragShadowBuilder extends View.DragShadowBuilder {
 
//This function overrides the default draw function.
 
 
@Override
public void onDrawShadow(Canvas canvas) {
super.onDrawShadow(canvas);
 
int strokeWidth = 4;
int cx = 30; int cy=30;
int r=30;
Paint circlePaint = new Paint();
circlePaint.setAntiAlias(true);
circlePaint.setStrokeWidth(strokeWidth);
// styles makes sure a circle withour stroke is drawn
 
circlePaint.setStyle(Paint.Style.FILL);
circlePaint.setColor(Color.WHITE);
 
// this draws a circle with center as cx, cy and radius as r
canvas.drawCircle(cx, cy,r, circlePaint);
circlePaint.setStyle(Paint.Style.STROKE);
circlePaint.setColor(Color.parseColor("#222222"));
 
// this draws a circle with only stroke and no fill color
canvas.drawCircle(cx, cy, r-(strokeWidth+1), circlePaint);
 
}
 
// This function is used to specify shadow size and touch point for your finger
 
@Override
public void onProvideShadowMetrics(Point shadowSize, Point touchPoint) {
int size = 60;
int size1 = 30;
 
shadowSize.set(size,size);
touchPoint.set(size1, size1);
}
}

 

익명사용자 님이 2015년 3월 30일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...