在我的android應用程序中,我想在長按時將邊框設置爲ImageView
。我還想在用戶釋放視圖時刪除相同的(邊框)。請任何人,在這幫助我?如何在Longpress中爲android Imageview設置邊框?
imageView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
imageView.setPadding(2, 2, 2, 2);
imageView.setBackgroundColor(Color.WHITE);
return true;
}
});
您可以通過OnTouchListener
也這麼做:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
mTouchDownX = (int) event.getX();
mTouchDownY = (int) event.getY();
break;
}
case MotionEvent.ACTION_MOVE: {
int x = (int) event.getX();
int y = (int) event.getY();
if (mDraggedItem >= 0) {
setDraggedItemPosition(x, y);
int index = getIndexFromCoordinates(x, y);
if (index == mDraggedItem || index < 0) break;
if (index < mDraggedItem) {
for (int i = index; i < mDraggedItem; i++) {
moveViewToPosition(i, i+1);
}
for (int i = mDraggedItem-1; i >= index; i--) {
View view = mGridMap.get(i);
mGridMap.put(i+1, view);
}
} else {
for (int i = index; i > mDraggedItem; i--) {
moveViewToPosition(i, i-1);
}
for (int i = mDraggedItem+1; i <= index; i++) {
View view = mGridMap.get(i);
mGridMap.put(i-1, view);
}
}
mLog.i("onTouchEvent - ACTION_MOVE - mDraggedItem: "+mDraggedItem+" index: "+index);
mGridMap.put(index, mDraggedView);
mDraggedItem = index;
}
break;
}
case MotionEvent.ACTION_UP: {
if (mDraggedItem >= 0) {
Point xy = getCoordinatesFromPosition(mDraggedItem);
mDraggedView.layout(xy.x, xy.y, xy.x+mChildSize, xy.y+mChildSize);
mDraggedView.clearAnimation();
mDraggedView.setPadding(0, 0, 0, 0);
setOnClickListener(this);
invalidate();
mRearrangeListener.onRearrange(mGridMap);
}
mDraggedItem = -1;
for(int i=0;i<mGridMap.size();i++)
{
String tag = mGridMap.get(i).getTag().toString();
}
break;
}
}
return super.onTouchEvent(event);
}
@Override
public boolean onLongClick(View v) {
int index = getIndexFromCoordinates(mTouchDownX, mTouchDownY);
if (index >= 0) {
// animate this item for enabling drag.
mDraggedItem = index;
mDraggedView = mGridMap.get(index);
mDraggedView.setPadding(2, 2, 2, 2);
mDraggedView.setBackgroundColor(Color.WHITE);
setDraggedItemPosition(mTouchDownX, mTouchDownY);
animateDragged();
}
return true;
}
你到目前爲止嘗試過什麼?請添加一些與問題相關的代碼。 – 2013-05-09 11:21:59
@SankarV我試圖設置邊框的圖像視圖,當它長時間按下。但我不知道如何刪除邊框時發佈 – Krishna 2013-05-09 11:23:41
更新您的問題與代碼 – 2013-05-09 11:25:04