Как я могу выравнивать элементы управления после перетаскивания приложения Android?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как я могу выравнивать элементы управления после перетаскивания приложения Android?

Сообщение Anonymous »

Я пытаюсь реализовать перетаскивание кнопок плитки.
Кнопки создаются динамически один раз. Есть 15, но используется только в том случае, если это видно, присвоив им букву. Кнопка иногда выбирается во время процесса перетаскивания. < /p>
// DRAGGING ROUTINES
private class SingleTapConfirm extends GestureDetector.SimpleOnGestureListener {

@Override
public boolean onSingleTapUp(MotionEvent event) {
return true;
}
}
< /code>
View.OnTouchListener mover = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {

// dragging
Log.e("MotionEvent", String.valueOf(event.getAction()));
switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_BUTTON_PRESS: //
dX = v.getX() - event.getRawX();
break;

case MotionEvent.ACTION_MOVE:
v.animate()
.x(event.getRawX() + dX)
.setDuration(0)
.start();
break;

case MotionEvent.ACTION_OUTSIDE:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_BUTTON_RELEASE: //
case MotionEvent.ACTION_CANCEL: //
default:
Arrays.sort(buttons, new Comparator() {
@Override
public int compare(Button b1, Button b2) {
if (b1.getX() >= b2.getX()) return 1; // >= gives b1 preference; 2 buttons cannot be in same place
else return -1;
}
});
alignButtons();
break;
}

// single tap adds selected button letter to answer
if (gestureDetector.onTouchEvent(event)) {
addLetter(v);
if (dragger)
alignButtons();
}
return true;
}
};

< /code>
private void alignButtons() {
Log.i("ButtonStart", Float.toString(buttonStart) );
int seq = 0;
for (int i = 0; i < buttons.length; i++) {
if (buttons.getVisibility() == View.VISIBLE) {
float pos = buttonStart + (seq * buttonWidth);
buttons.setX(pos);
seq++;
Log.i(buttons.getText().toString(), Float.toString(buttons.getX()));
}
}
}



Подробнее здесь: https://stackoverflow.com/questions/796 ... ndroid-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»