Я пытаюсь создать собственную карту с измененным относительным расположением.
Я использую матрицы и сенсорные события.
Первая проблема
Каждый 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, и ничего не происходит ...
Спасибо