1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình Android: Di chuyển Image bằng chuột doc

5 568 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 100,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kéo thả hình ảnhChắc các bạn đã từng sữ dụng wa ứng dụng kéo thả các Icon để sắp xếp màn hình cho smartphone.. Đây là tính năng khá thú vị mà tất cả các smartphone đều hổ trợ.. Sau đây m

Trang 1

Kéo thả hình ảnh

Chắc các bạn đã từng sữ dụng wa ứng dụng kéo thả các Icon để sắp xếp màn hình cho smartphone Đây là tính năng khá thú vị mà tất cả các smartphone đều hổ trợ Sau đây mình sẽ demo cách thức hoạt động của nó Mình sẽ tạo ra 1 ImageView và kéo thả trên màn hình Virtual

1/ Đầu tiên các bạn tạo 1 project như sau:

Project name: DragNew

Build Target: Android 2.3.1

Application name: DragNew

Package name: com.sample.dragdrop

Create Activity: MyActivity

2/ Các bạn chỉnh lại phần main.xml:

<? xml version ="1.0" encoding ="utf-8"?>

< LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"

>

< ImageView android:id ="@+id/img"

</ LinearLayout >

3/ Code trong phần strings.xml:

<? xml version ="1.0" encoding ="utf-8"?>

< resources >

< string name ="hello"> Hello World, MyActivity! </ string >

< string name ="app_name"> DragNew </ string >

< string name ="drag"> drag </ string >

</ resources >

4/ Code lại phần DragNew.Java như sau:

package com.sample.dragdrop;

Trang 2

import android.app.Activity;

import android.os.Bundle;

import android.view.MotionEvent;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageView;

import android.widget.LinearLayout;

public class MyActivity extends Activity {

private View selected_item = null;

private int offset_x = 0;

private int offset_y = 0;

/** Called when the activity is first created */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

ViewGroup vg = (ViewGroup)findViewById(R.id.vg);

vg.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) { switch(event.getActionMasked())

Trang 3

case MotionEvent.ACTION_MOVE:

int x = (int)event.getX() - offset_x;

int y = (int)event.getY() - offset_y;

int w = getWindowManager().getDefaultDisplay().getWidth() - 100; int h = getWindowManager().getDefaultDisplay().getHeight() - 100; if(x > w)

x = w;

if(y > h)

y = h;

LinearLayout.LayoutParams lp = new

LinearLayout.LayoutParams(

new ViewGroup.MarginLayoutParams(

LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); lp.setMargins(x, y, 0, 0);

selected_item.setLayoutParams(lp);

break;

default:

break;

}

return true;

Trang 4

});

ImageView img = (ImageView)findViewById(R.id.img);

img.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) { switch(event.getActionMasked())

{

case MotionEvent.ACTION_DOWN:

offset_x = (int)event.getX();

offset_y = (int)event.getY();

selected_item = v;

break;

default:

break;

}

return false;

}

});

}

}

Cuối cùng Debug ứng dụng và ta sẽ được:

Trang 5

Các bạn có thể kéo thả hình thoải mái và khi đến các góc của Virtual thì hình sẽ tự động thu nhỏ lại Bạn nào có ý kiến đóng góp vui lòng post bài vào forum trang web

www.laptrinhdidong.vn Mình sẽ theo dõi forum thường xuyên ^^

Ngày đăng: 07/08/2014, 08:22

TỪ KHÓA LIÊN QUAN

w