当前位置: 首页 > news >正文

jsp网站建设项目实战源代码网站建设工具哪个好

jsp网站建设项目实战源代码,网站建设工具哪个好,网页制作工具的选择,洞泾做网站本文主要讲述两个知识点:popwindow的使用和通过继承View实现一个自定义控件#xff0c;实现点击#xff0c;手动按钮的效果. popwindow的使用 //定义 popupWindowpopWin new PopupWindow(MainActivity.this);popWin.setWidth(input.getWidth()); //设置宽度popWin.setHeig…本文主要讲述两个知识点:popwindow的使用和通过继承View实现一个自定义控件实现点击手动按钮的效果. popwindow的使用 //定义 popupWindowpopWin new PopupWindow(MainActivity.this);popWin.setWidth(input.getWidth()); //设置宽度popWin.setHeight(200); //设置popWin 高度popWin.setContentView(listView); //为popWindow填充内容popWin.setOutsideTouchable(true); // 点击popWin 以处的区域自动关闭 popWinpopWin.showAsDropDown(input, 0, 0);//设置 弹出窗口显示的位置 自定义控件实现开关拖动按钮 第一步实现自定义控件要继承view public class MyToggleButton extends View implements OnClickListener{ 第二步写构造函数并初始化 /*** 在代码里面创建对象的时候使用此构造方法*/public MyToggleButton(Context context) {super(context);// TODO Auto-generated constructor stub}/*** 在布局文件中声名的view创建时由系统自动调用。* param context 上下文对象* param attrs 属性集*/public MyToggleButton(Context context, AttributeSet attrs) {super(context, attrs);initView();}/*** 初始化*/private void initView() {//初始化图片backgroundBitmap BitmapFactory.decodeResource(getResources(), R.drawable.switch_background);slideBtn BitmapFactory.decodeResource(getResources(), R.drawable.slide_button);//初始化 画笔paint new Paint();paint.setAntiAlias(true); // 打开抗矩齿//添加onclick事件监听setOnClickListener(this);} 第三步重写方法 /** view 对象显示的屏幕上有几个重要步骤* 1、构造方法 创建 对象。* 2、测量view的大小。 onMeasure(int,int);* 3、确定view的位置 view自身有一些建议权决定权在 父view手中。 onLayout();* 4、绘制 view 的内容 。 onDraw(Canvas)*/Override/*** 测量尺寸时的回调方法 */protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // super.onMeasure(widthMeasureSpec, heightMeasureSpec);/*** 设置当前view的大小* width :view的宽度* height :view的高度 单位像素*/setMeasuredDimension(backgroundBitmap.getWidth(),backgroundBitmap.getHeight());}//确定位置的时候调用此方法//自定义view的时候作用不大 // Override // protected void onLayout(boolean changed, int left, int top, int right, // int bottom) { // super.onLayout(changed, left, top, right, bottom); // }/*** 当前开关的状态* true 为开*/private boolean currState false;Override/*** 绘制当前view的内容*/protected void onDraw(Canvas canvas) { // super.onDraw(canvas);// 绘制 背景/** backgroundBitmap 要绘制的图片* left 图片的左边届* top 图片的上边届* paint 绘制图片要使用的画笔*/canvas.drawBitmap(backgroundBitmap, 0, 0, paint);//绘制 可滑动的按钮canvas.drawBitmap(slideBtn, slideBtn_left, 0, paint);} 第四步监听点击与拖动事件 /*** 判断是否发生拖动* 如果拖动了就不再响应 onclick 事件* */private boolean isDrag false;Override/*** onclick 事件在View.onTouchEvent 中被解析。* 系统对onclick 事件的解析过于简陋只要有down 事件 up 事件系统即认为 发生了click 事件* */public void onClick(View v) {/** 如果没有拖动才执行改变状态的动作*/if(!isDrag){currState !currState;flushState();}}/*** down 事件时的x值*/private int firstX;/*** touch 事件的上一个x值*/private int lastX;Overridepublic boolean onTouchEvent(MotionEvent event) {super.onTouchEvent(event);switch (event.getAction()) {case MotionEvent.ACTION_DOWN:firstX lastX (int) event.getX();isDrag false;break;case MotionEvent.ACTION_MOVE://判断是否发生拖动if(Math.abs(event.getX()-firstX)5){isDrag true;}//计算 手指在屏幕上移动的距离int dis (int) (event.getX() - lastX);//将本次的位置 设置给lastXlastX (int) event.getX();//根据手指移动的距离改变slideBtn_left 的值slideBtn_left slideBtn_leftdis;break;case MotionEvent.ACTION_UP://在发生拖动的情况下根据最后的位置判断当前开关的状态if (isDrag) {int maxLeft backgroundBitmap.getWidth() - slideBtn.getWidth(); // slideBtn// 左边届最大值/** 根据 slideBtn_left 判断当前应是什么状态*/if (slideBtn_left maxLeft / 2) { // 此时应为 打开的状态currState true;} else {currState false;}flushState();}break;}flushView();return true; } 第五步刷新当前状态 /*** 刷新当前状态*/private void flushState() {if(currState){slideBtn_left backgroundBitmap.getWidth()-slideBtn.getWidth();}else{slideBtn_left 0;}flushView(); }/*** 刷新当前视力*/private void flushView() {/** 对 slideBtn_left 的值进行判断 确保其在合理的位置 即 0slideBtn_left maxLeft* */int maxLeft backgroundBitmap.getWidth()-slideBtn.getWidth(); // slideBtn 左边届最大值//确保 slideBtn_left 0slideBtn_left (slideBtn_left0)?slideBtn_left:0;//确保 slideBtn_left maxLeftslideBtn_left (slideBtn_leftmaxLeft)?slideBtn_left:maxLeft;/** 刷新当前视图 导致 执行onDraw执行*/invalidate();} 第六步在layout中添加全类名使用 com.zj.switchbutton.MyTrouggleButtonandroid:layout_widthwrap_contentandroid:layout_heightwrap_content/ 运行效果
http://www.zqtcl.cn/news/472694/

相关文章:

  • 网站开发自学难吗上海网站建设百度推广公司哪家好
  • 建设部网站官网四库一平台房地产网站大全
  • 做外贸如何建立网站微信信息流广告投放
  • 上海工程建设招投标网站开发购物网站描述
  • 网站系统维护一般多久电商关键字优化
  • 孝感市建设局网站宁波seo网络推广价格
  • 百度商桥网站网络编程技术试题
  • 设计素材网站排名网站建设网站软件有哪些内容
  • 互联网兼职做网站维护wordpress评论微信通知
  • 合肥瑶海区网站建设方案长沙网站 建设推广世云网络
  • wordpress 挂码seo推广公司哪家好
  • 高端 网站设计公司wordpress添加投稿功能
  • 长沙 网站设计 公司价格江苏专业网站建设费用
  • 做的好的手机网站有哪些内容手机怎么做app详细步骤
  • net网站开发参考文献c++能不能作为网页开发语言
  • 我公司让别人做网站了怎么办厦门logo设计公司
  • 闸北专业做网站怎么判断网站优化过度
  • 搭建网站seowordpress重新安装如何做
  • 网站设计优化重庆教育建设有限公司网站
  • 域名注册网站查询手工制作视频教程简单又漂亮
  • 书画院网站源码网站百度指数
  • 网页设计与网站开发第三版课后答案网络运营商是干嘛的
  • wordpress分类目录网站主题自己做营销型网站
  • 简述网站推广的五要素seo排名软件怎么做
  • 做网站能做职业吗织梦如何做几种语言的网站
  • 手机网站定制咨询如何修改网站
  • 长沙大型网站建设公司建站工作室源码
  • 找设计方案的网站专注南昌网站建设
  • UE做的比较好的网站汕头网站关键词优化教程
  • 做羞羞的事情网站广州番禺招聘网最新招聘信息