Добавьте этот Jquery в ваш код, и он, вероятно, будет работать.
$('body').on('click', function (e) {
$('[target=popover]').each(function () {
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
$(this).popover('hide');
}
});
});
Также вы можете попробовать это:
Вы можете добавить это в свой код и попробовать.
<a class="close" href="#">Close</a>
Также добавьте этот jquery:
$('.close').click(function() {
$(".class").fadeOut(300);
});
Да. Это зависит, чего Вы пытаетесь достигнуть.
Это может быть сделано с помощью стандартных API, но эта функциональность не является частью стандартных API. Таким образом, существует нет widget.DragOverHere()
метод, если Вы не пишете тот.
Тем не менее это не было бы ужасно сложно, чтобы сделать. Как минимум необходимо было бы записать пользовательский подкласс Представления и реализовать два метода: onDraw(Canvas c)
и onTouch(MotionEvent e)
. Грубый эскиз:
class MyView extends View {
int x, y; //the x-y coordinates of the icon (top-left corner)
Bitmap bitmap; //the icon you are dragging around
onDraw(Canvas c) {
canvas.drawBitmap(x, y, bitmap);
}
onTouch(MotionEvent e) {
switch(e.getAction()) {
case MotionEvent.ACTION_DOWN:
//maybe use a different bitmap to indicate 'selected'
break;
case MotionEvent.ACTION_MOVE:
x = (int)e.getX();
y = (int)e.getY();
break;
case MotionEvent.ACTION_UP:
//switch back to 'unselected' bitmap
break;
}
invalidate(); //redraw the view
}
}
Путем я сделал, это должно иметь абсолютное расположение и затем просто обновить положение объекта, когда оно перетаскивается. Необходимо реализовать перетаскивание себя. Если виджеты имеют естественный порядок (панель инструментов, где Вы хотите смочь перетащить кнопки вокруг), можно сложить абсолютное расположение сверх панели инструментов и когда перетаскивание запускается, Вы добавляете его к абсолютному расположению и когда это заканчивается, Вы добавляете его назад к первоначальному макету в новом положении.
До некоторой степени. Это зависит, на какой степени свободы Вы хотите дать пользователю. Одним решением, которое приходит на ум, является TableLayout с предопределенными ячейками. Пользователь может затем коснуться и перетащить компоненты. При перетаскивании компонента Вы просто захотите нарисовать изображение его под пальцем пользователя, но когда они выпустят, удаляют компонент из, он - предыдущий родитель, и добавьте, что это к новому родителю с помощью ViewGroup добавляет/удаляет методы.
В то время как можно программно сместить Представления вокруг, было бы трудно/невозможно переключить разметки на лету насколько я вижу.