在android Activity中实现图片的拖动(20页).doc
《在android Activity中实现图片的拖动(20页).doc》由会员分享,可在线阅读,更多相关《在android Activity中实现图片的拖动(20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-在android Activity中实现图片的拖动-第 20 页在android Activity中实现图片的拖动1. 图片在Activity中的固定区域上下移动使用到ImageView,和TranslateAnimation控制位置变化的动画类进行操作。2. 第一步是在xml文件中添加图片控件ImageView并且引用资源文件中的相应图片。第二步在正文文件中设置ImageView类型的变量imageview,并且用findViewById()将变量imageview与xml中的ImageView相关联,在正文文件中设置imageview 将它与监听器绑定运用TranslateAnimati
2、on translationAnimation = new TranslateAnimation(ENDSTART_X-20, ENDSTART_X-20, endY+10, endY+10); /图片转移 imageview.startAnimation(translationAnimation);开始动画置3. TranslateAnimation(float from XDelta,float toXDelta,float fromYDelta,float toYDelta)(位置变化动画)4. 获取屏幕长宽:WindowManager windowManager = getWindow
3、Manager();Display display = windowManager.getDefaultDisplay();screenWidth = display.getWidth();screenHeight = display.getHeight();5. FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明
4、的)。原来可以利用android:layout_gravity来设置位置的:2011/12/36. 在android屏幕中实现Button在固定区域拖动:只要将用户的handleActionUp, handleActionDown handleActionmove,中的处理过程前面加上一个条件判断,看是否用户点击的屏幕上坐标是否在所规定的范围内,若在则执行下面的处理工作否则不执行。Apk包的安装与卸载方法1:首先安装一:首先需要启动模拟器二:start - 运行 -CMD三:进入andoridsdk下面的tools目录四:adb install c:*.apk(说明:“c:*.apk”是要安装
5、的文件的路径)这样就安装成功了!卸载一:首先需要启动模拟器二:start - 运行 -CMD三:进入andoridsdk下面的tools目录四:adb shell(按回车跳一行 出现# 在#后空一格 输入cd data 按回车 下面方法一样)五:cd data六:cd app七:ls(说明,主要是针对不知道包下面的文件,可以列表显示出来)八:rm *.apk(说明:*.apk是你要卸载的apk包)这样就可以卸载这个apk包了!在DOS中查看模拟器中创建的数据库信息首先进入Dos 进入android sdk tools 目录下 输入Adb shell出现#输入 cd data输入 cd data
6、ls l用cd 包名 进入着自己所创建的包再 ls出现 databases 与 lib输入 cd databasesLs 出现 数据库名 例如 long_db继而输入 sqlite3 long_db输入 .schema查看表结构Select * from 表名;2011年12月3日星期六关于在闹钟设置中屏幕上同时显示多个Button的操作总结:1. 实现用户在灰色区域内点击,即弹出一个显示点击处对应的时间button,并且当用户多次点击灰色区域继而弹出多个button(每次点击灰色区域就在点击处弹出),对于弹出的button都能够被用户拖动,并且被拖动的button不会影响其他的button,
7、即button之间具有一定的独立性。而且它们之间又有共同点。共同点在于这些button都是从同一个ButtonActivity类中继承过来的。2. Button 是继承textView的对象。只是在textview的基础上增添了一个风格 style属性3. ButtonActivity类是用户自定义的一个类,这个类是继承库函数中的Button方法的,而ButtonActivity中的具体内容则是创建一个button的监听器实现方法,当在主函数中实例化一个ButtonActivity对象后就在其后紧跟着就要设置监听器,监听器的设置则是调用ButtonActivity实例化对象中的一个监听器实现方
8、法,这个方法就是用户先前在ButtonActivity中定义的监听器实现方法。代码如下:主函数中的代码:imageview = new ImageView(this); bt = new ButtonActivity(this); /实例化一个button对象bt.ButtonListener(bt,imageview);/调用用户自定义的button里的监听器方法用户自定义ButtonActivity中的方法package com.djhs;import android.content.Context;import android.util.DisplayMetrics;import and
9、roid.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.AbsoluteLayout;import android.widget.Button;import android.widget.FrameLayout;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget
10、.TextView;import android.widget.AbsoluteLayout.LayoutParams;public class ButtonActivity extends Button implements OnTouchListener private final String LOG = MainViewInformation;/ private Button bt ;/ private ImageView imageview=null;private LinearLayout main_layout;private FrameLayout frame_layout;p
11、rivate int startY;private int endX;private int endY; int lastX,lastY; int width =0; /屏幕的宽度public ButtonActivity(Context context) super(context);/ TODO Auto-generated constructor stubOverridepublic boolean onTouch(View v, MotionEvent event) / TODO Auto-generated method stubreturn false; public void B
12、uttonListener(ButtonActivity v,final ImageView w) /用户自定义的监听器方法DisplayMetrics dm=getResources().getDisplayMetrics(); /get the screen width and height final int screenWidth=dm.widthPixels; final int screenHeight=dm.heightPixels; Log.i(LOG, screenWidth- + screenWidth); Log.i(LOG, screenHeight- + screen
13、Height); final int Width = screenWidth; width = Width; final double hour = screenHeight/24.0; /将屏幕高度转化成时间 final double minute = hour/60.0; v.setOnTouchListener(new OnTouchListener() /the button actionlistener;public boolean onTouch(View v, MotionEvent event) / TODO Auto-generated method stubint ea=e
14、vent.getAction(); Log.i(TAG, Touch:+ea); switch(ea) case MotionEvent.ACTION_DOWN: lastX=(int)event.getRawX();/获取触摸事件触摸位置的原始X坐标 lastY=(int)event.getRawY(); break; case MotionEvent.ACTION_MOVE: int dx=(int)event.getRawX()-lastX; int dy=(int)event.getRawY()-lastY; int l=v.getLeft();/+dx; /fixed the x c
15、oordinate int b=v.getBottom()+dy; int r=v.getRight();/+dx; /fixed the y coordinate int t=v.getTop()+dy; /下面判断移动是否超出屏幕 if(l0) l=0; r=l+v.getWidth(); if(tscreenWidth) r=screenWidth; l=r-v.getWidth(); if(bscreenHeight+25) b=(int) screenHeight; t=b-v.getHeight(); v.layout(l, t, r, b); /show the buuton o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在android Activity中实现图片的拖动20页 android Activity 实现 图片 拖动 20
限制150内