2016-03-07 5 views
0

Я хочу, чтобы добавить «точку интереса» к растровому изображению, что-то вроде значка карты Google, на который можно щелкнуть, чтобы вызвать информацию.Как мне добавить изображение в растровое изображение в Android Studio?

Мне просто нужно знать, как идти о добавлении булавки в пространство и держать его на правой точке растры (я могу панорамирование и масштабирование на растровом изображении)

К сожалению, я довольно новый в Android Studio и заблаговременно! :)

+0

Я бы не предложил модифицировать растровое изображение, чтобы сделать это. Создайте список объектов PointOfInterest и сохраните их местоположение. Затем нарисуйте их поверх изображения карты. Не нужно изменять растровое изображение, если вы не хотите, чтобы пользователь мог получить к нему доступ из другого приложения (например, из галереи изображений). – vedi0boy

ответ

0

Вы можете нарисовать объект поверх своего растрового изображения и реализовать обратный вызов касания, который проверяет, действительно ли вы нажали на свой маркер. Вот простой пример:

<com.myproject.RedImageView 
    android:id="@+id/imageView" 
    android:layout_width="300dp" 
    android:layout_height="300dp" 
    android:layout_centerHorizontal="true" 
    android:layout_centerInParent="true" 
    android:layout_centerVertical="true" 
    android:background="@android:color/holo_red_dark" /> 

package com.myproject; 

public class RedImageView extends View { 

    private Paint mPaint; 
    private Rect mRect; 

    public RedImageView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 

    //Draw a small white rectangle on top of our red ImageView 
    private void init() { 
     mPaint = new Paint(); 
     mPaint.setColor(Color.WHITE); 

     mRect = new Rect(20, 20, 120, 120); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 

     canvas.drawRect(mRect, mPaint); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     //Simple touch gesture has started 
     if (event.getAction() == MotionEvent.ACTION_DOWN) { 
      int x = (int) event.getX(); 
      int y = (int) event.getY(); 
      //Match touch coordinates vs "Point of Interest" aka small white rectangle 
      if (mRect.contains(x, y)) { 
       Snackbar.make(this, "Clicked white", Snackbar.LENGTH_SHORT).show(); 
      } 
     } 

     return super.onTouchEvent(event); 
    } 
} 
+0

Возможно, мне придется сделать большой вкладку, потому что в этих точках может быть много информации, и им, возможно, потребуется отредактировать/удалить их. Я играл с этим кодом, и у него есть полезный материал, но я все равно никуда не могу. Знаете ли вы что-нибудь о добавлении изображения из выпадающей папки поверх растрового изображения (не в растровом изображении, например наложения), которое остается в координатах растрового изображения (потому что я могу панорамировать и масштабировать растровое изображение) и реагирует на касание все? – SparkyMelon

Смежные вопросы