Back to project page NVS.
The source code is released under:
Apache License
If you think the Android project NVS listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/*** * Copyright (c) 2010 readyState Software Ltd * //from w w w. j a v a 2s . com * Licensed under the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. You may obtain * a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package com.jmuenster.map; import android.content.Context; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.jmuenster.extras.StickyNote; import com.jmuenster.poi.R; /** * A view representing a MapView marker information balloon. * <p> * This class has a number of Android resource dependencies: * <ul> * <li>drawable/balloon_overlay_bg_selector.xml</li> * <li>drawable/balloon_overlay_close.png</li> * <li>drawable/balloon_overlay_focused.9.png</li> * <li>drawable/balloon_overlay_unfocused.9.png</li> * <li>layout/balloon_map_overlay.xml</li> * </ul> * </p> * * @author Jeff Gilfelt, Julian Munster * */ public class BalloonOverlayView<Item extends StickyNote> extends FrameLayout { private LinearLayout layout; private TextView title; private TextView snippet; /** * Create a new BalloonOverlayView. * * @param context - The activity context. * @param balloonBottomOffset - The bottom padding (in pixels) to be applied * when rendering this view. */ public BalloonOverlayView(Context context, int balloonBottomOffset) { super(context); setPadding(10, 0, 10, balloonBottomOffset); layout = new LinearLayout(context); layout.setVisibility(VISIBLE); LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = inflater.inflate(R.layout.balloon_overlay, layout); title = (TextView) v.findViewById(R.id.balloon_item_title); snippet = (TextView) v.findViewById(R.id.balloon_item_snippet); ImageView close = (ImageView) v.findViewById(R.id.close_img_button); close.setOnClickListener(new OnClickListener() { public void onClick(View v) { layout.setVisibility(GONE); } }); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.gravity = Gravity.NO_GRAVITY; addView(layout, params); } /** * Sets the view data from a given overlay item. * * @param item - The overlay item containing the relevant view data * (title and snippet). */ public void setData(Item item) { layout.setVisibility(VISIBLE); if (item.getTitle() != null) { title.setVisibility(VISIBLE); title.setText(item.getTitle()); } else { title.setVisibility(GONE); } if (item.getSnippet() != null) { snippet.setVisibility(VISIBLE); snippet.setText(item.getSnippet()); } else { snippet.setVisibility(GONE); } } }