setImageMatrix работает только в Touch Event Android - PullRequest
2 голосов
/ 16 марта 2012

Я пытаюсь создать собственную карту с измененным относительным расположением.

Я использую матрицы и сенсорные события.

Первая проблема

Каждый setImageMatrix() вне моего события касания ничего не делает, но те, кто в событии, работают.

Проблема в том, что мне нужно установить точки на карте до того, как пользователь коснется экрана.

Я пробовал invalidate() практически во всех видах, и он ничего не делает.

Вторая проблема

Я создал собственный класс, расширяющий ImageView, и он вообще не отображается.

Конструктор:

public OverlayPoint(Context context,JSONObject obj) {
    super(context);
    this.obj = obj;

    this.setImageResource(R.drawable.interet);

    this.setScaleType(ImageView.ScaleType.MATRIX);
    this.setLayoutParams(new LayoutParams 
            (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    myMatrix = new Matrix();
}

Вызов в расширенной относительной связи:

public void addPoint(JSONObject obj) throws JSONException
{
    OverlayPoint vv = new OverlayPoint(getContext(),obj);
    Upoint pp = new Upoint(obj.getDouble("latitude"),obj.getDouble("longitude"));
    vv.setXY(pp.getX(), pp.getY());
    this.addView(vv);
    myOverlays.add(vv);
    Log.d("Overlay","Point added to array");
    Log.d("Overlay", myOverlays.toString());


    GlobalState gs = (GlobalState)  ((VTTMatapediaActivity)this.getContext()).getApplication();
    gs.addPoint(obj);
    this.invalidate();
}

Редактировать: Забыл упомянуть, что я использовал ViewFlipper для переворачивания видов. Но я просто попытался дождаться окончания анимации, чтобы вызвать setImageMatrix, и ничего не происходит ...

Спасибо

...