程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> canvas-Android 自定義View點擊事件

canvas-Android 自定義View點擊事件

編輯:編程綜合問答
Android 自定義View點擊事件

給自定義小圖標(箭頭所指)添加OnclickListener();

結果

只要點擊屏幕就會響應了

剛接觸Android不久,不知道哪裡的問題,求大神指點。

圖片說明

public class Map extends Fragment implements OnClickListener {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View root = inflater.inflate(R.layout.map, container, false);
        FrameLayout frameLayout = (FrameLayout) root
                .findViewById(R.id.maplayout);
        /**
         * 新建一個圖標
         * 
         * @author prohan
         * @param Context
         *            context int x ,int y 添加的點的左上角位置 int id 設置節點ID
         */
        final Myview myview = new Myview(this.getActivity(), 830, 880);
        myview.setOnClickListener(this);
        myview.setId(10);
        frameLayout.addView(myview);
        return root;
    }

    public void onAttach(Activity activity) {
        super.onAttach(activity);
    }

    class Myview extends View {
        public int bitmapx;
        public int bitmapy;

        public Myview(Context context, int x, int y) {
            super(context);
            this.bitmapx = x;
            this.bitmapy = y;

        }

        @Override
        protected void onDraw(Canvas canvas) {

            Paint point = new Paint();
            point.setAlpha(150);

            Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),
                    R.drawable.point);
            canvas.drawBitmap(bitmap, null, new Rect(bitmapx, bitmapy,
                    bitmapx + 60, bitmapy + 100), point);
            // canvas.drawRect(0, 0, getWidth(), getHeight(), mPaint);
            // canvas.drawBitmap(bitmap, bitmapx, bitmapy, point);

        }

    }

    // Onclick中的方法
    private void alertmessage() {
        AlertDialog alert = new AlertDialog.Builder(this.getActivity())
                .create();
        alert.setIcon(R.drawable.ic_launcher);// 設置對話框的圖標
        alert.setTitle("當前站點信息:");
        alert.setMessage("XXXXXXXXXXXXXXXX");
        alert.show();

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case 10:
            Toast.makeText(getActivity(), "#" + v.getId() + "#" + "8號樓監測站",
                    Toast.LENGTH_SHORT).show();
            alertmessage();
            break;

        default:
            break;
        }

    }
}

如果能告訴我如何能讓myview跳動起來就最好啦

最佳回答:


0917Android基礎自定義View的點擊事件
Android 自定義View——自定義點擊事件
----------------------biu~biu~biu~~~在下問答機器人小D,這是我依靠自己的聰明才智給出的答案,如果不正確,你來咬我啊!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved