Android实现动态任意拖动图片

应用场景:小游戏

android要实现动态任意拖放图片,使用imageview实现比较困难,在这里介绍一种使用button的方法:

1. 界面元素有任意个,用户操作选中一个在屏幕上拖动,拖动完成后图片元素停留在actionup的位置;

2. 首先在界面设置任意个button元素,并设置background:

<RelativeLayout android:id="@+id/main"

android:background="@drawable/bgall"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:scrollbars="none"

android:listSelector="#00000000">

<Button android:id="@+id/btnFirst"

android:background="@drawable/pebble"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

。。。

3. 主activity需要implements OnTouchListener,

touchCrowListener = new OnTouchListener()

{

int[] temp = new int[] { 0, 0 };

int oldxxx = 0;

int oldyyy = 0;

public boolean onTouch(View v, MotionEvent event)

{

int eventaction = event.getAction();

int x = (int) event.getRawX();

int y = (int) event.getRawY();

。。。。。。

   //----------------------------------------------------------------------------------------------

v.layout(x - temp[0], y - temp[1], x + v.getWidth() - temp[0], y - temp[1] + v.getHeight());

v.postInvalidate();

4. 使用button的特点是易于控制因为可以使用layout属性和postInvalidate方法,且background设置也能达到imageview的显示效果

以上功能在 乌鸦喝水 小游戏中有使用【http://openbox.mobilem.360.cn/index/d/sid/162210       http://zhushou.360.cn/detail/index/soft_id/162210】

乌鸦和小石子儿都是通过button+设置btton的background来实现的。

时间: 2024-10-15 01:40:39

Android实现动态任意拖动图片的相关文章

Android自定义动态布局 — 多图片上传

Android自定义动态布局 - 多图片上传 本文介绍Android中动态布局添加图片,多图片上传. 项目中效果图:    技术点: 1.动态添加格局中的线条和添加图片的+号 2.多张图片异步上传 首先来看一下布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layo

Android之动态图片

在Android中,比起静态图片来动态图片会更加生动更加酷炫,因为这种视觉效果,你应该会发现我们手机中大多数应用软件的导航页面也都是采用动态图片来展示.动态图片的格式有gif.png格式等等. 我们就来看看动态图片,我们可以先自定义SurfaceView视图,然后在MainActivity中添加显示方法就行了. MainActivity: package com.cdp.dongtaitupian;; import android.app.Activity; import android.os.

Android控件上添加图片

项目中有一个点赞功能,点赞的小图标添加在点赞列表旁边,在xml里可以进行设置,也可以在代码中进行绘图. 下面是两种方法的设置: 1.xml里:一些控件:button.textView等等里面有个属性是android:drawableLeft 就可以将pic设置到text的左边.good.... 2.代码中: TextView txtlikedList = new TextView(this.getContext()); Drawable drawable= getResources().getD

android 开发入门之背景图片

针对网上对于Activity设置背景图片的例子比较少,特献上自己的代码. android APP开发,在显示界面的时候,一般都会用到背景图片,而背景图片一般是全屏显示的.例如应用开启的欢迎屏幕. 原理: 在Activity初始化布局对象的时候,获取该布局实例,然后设置背景图片. 优点:可以动态加载图片. 示例代码如下:以下代码放置在Activity,onCreate方法中. //设置无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); //加载布

android 下动态获取控件的id

有时候我们需要动态的取得一个一个控件的id,然后进行操作,经过在网上查找,找到了一下方法getResources().getIdentifier("textView01", "id", "cn.xxx.xxx"); 第一个参数为ID名,第二个为资源属性是ID或者是Drawable,第三个为包名. 以下是从网上找到资料:主要由两种方法,个人建议第二种. 1. 不把图片放在res/drawable下,而是存放在src某个package中(如:com.

【Android】动态设置android:drawableLeft|Right|Top|Bottom

Android中有时需动态设置控件四周的drawble图片,这个时候就需要调用 setCompoundDrawables(left, top, right, bottom),四个参数类型都是drawable Button继承TextView,所以可以采用相同的设置方法 方法一.XML方式   <TextView android:id="@+id/bookTitle" android:layout_width="match_parent" android:lay

Android 绘制动态图

最近准备技能大赛,需要将从传感器中读出的数据在移动客户端以图的形式绘制出来,因为平时很少绘图,于是各种查资料,算是勉强做出来了. 以下是大赛理论效果图(左)和实际效果图(右),真的是理想很丰满,现实很骨感啊! 制作的整体思路: 创建一个继承与View类自定义类 自定义类覆盖其中的onDraw()方法 在MainActivity中invalidate()方法来调用onDraw()方法来进行图形的重绘. 绘制一个基本表: (注意:代码中使用了变量) 1.绘制矩形 Paint paint = new

[Android] 触屏setOnTouchListener实现图片缩放、移动、绘制和添加水印

    前一篇文章讲述了Android实现图片Matrix矩阵类缩放.旋转.对比度.亮度.饱和度处理,但是真正的图片软件都是使用触屏实现图片缩放.移动.添加水印等功能,所以该篇文章主要通过setOnTouchListener监听实现该功能.希望文章对大家有所帮助. 一.图片缩放实现     首先先简单介绍Android如何实现触屏缩放图片和移动图片,新建TouchImageViw工程.设计XML中activity_main.xml布局: <RelativeLayout xmlns:android

Android apk动态加载机制的研究(二):资源加载和activity生命周期管理

出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客) 前言 为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中,博主分析了Android中apk的动态加载机制,并在文章的最后指出需要解决的两个复杂问题:资源的访问和activity生命周期的管理,而本文将会分析这两个复杂问题的解决方法.需要说明的一点是,我们不可能调起任何一个未安装的