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

网络推广员工作好做吗廊坊seo计费管理

网络推广员工作好做吗,廊坊seo计费管理,丽江网站制作公司,广告运营0 背景 开发要实现一个可以拖动的圆角小窗#xff0c;要求松手时#xff0c;哪边近些靠哪边。并且还规定了拖动范围。样式如下#xff1a; 1 实现 首先把 PopupWindow 的布局文件 pop.xml 实现 ?xml version1.0 encodingutf-8? R…0 背景 开发要实现一个可以拖动的圆角小窗要求松手时哪边近些靠哪边。并且还规定了拖动范围。样式如下 1 实现 首先把 PopupWindow 的布局文件 pop.xml 实现 ?xml version1.0 encodingutf-8? RelativeLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoandroid:layout_width88dpandroid:layout_height132dpandroid:backgrounddrawable/radius_12android:idid/mini_popupandroid:visibilityvisiblecom.google.android.material.imageview.ShapeableImageViewandroid:idid/iv_live_coverandroid:layout_width88dpandroid:scaleTypefitXYandroid:layout_height132dpandroid:backgroundcolor/purple_200app:shapeAppearanceOverlaystyle/MiniDialogRoundedImageStyle /ImageViewandroid:idid/iv_closeandroid:layout_width16dpandroid:layout_height16dpandroid:layout_alignParentRighttrueandroid:layout_marginTop4dpandroid:layout_marginRight4dpandroid:srccolor/teal_200 / /RelativeLayout布局中圆角和 PopupWindow 的动画 style.xml !-- 圆角图片 --style nameMiniDialogRoundedImageStyleitem namecornerFamilyrounded/itemitem namecornerSize12dp/item/style!-- PopupWindow 的动画效果 --style namePopupWindowAnimationitem nameandroid:windowEnterAnimationanim/live_popup_window_in_anim/item/styleradius_12.xml ?xml version1.0 encodingutf-8? shape xmlns:androidhttp://schemas.android.com/apk/res/androidcorners android:radius12dp/solid android:colorcolor/white/ /shapeMyPopupWindow.java package com.example.myapplication.popupwindow;import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.res.Resources; import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.PopupWindow;import com.bumptech.glide.Glide; import com.example.myapplication.R;public class MyPopupWindow extends PopupWindow {private Context mContext;private View mRootView;// 背景private ImageView mBackground;// 关闭弹窗private ImageView mIvClose;// 弹窗的移动范围private int mMinX;private int mMinY;private int mMaxX;private int mMaxY;// 屏幕宽高private int mScreenWidth;public MyPopupWindow(Context context) {super(context);mContext context;mRootView View.inflate(mContext, R.layout.pop, null);mScreenWidth getScreenWidth(mContext);mMinX dp2px(12);mMaxX mScreenWidth - dp2px(12) - dp2px(88);mMinY dp2px(12);mMaxY dp2px(500);// 为了保证整体是圆角形状mRootView.findViewById(R.id.mini_popup).setClipToOutline(true);initView();}private void initView() {setContentView(mRootView);mBackground mRootView.findViewById(R.id.iv_live_cover);mIvClose mRootView.findViewById(R.id.iv_close);mIvClose.setOnClickListener(view - this.dismiss());// 小窗的宽高setHeight(dp2px(132));setWidth(dp2px(88));this.setTouchInterceptor(new View.OnTouchListener() {int orgX, orgY;int offsetX, offsetY;Overridepublic boolean onTouch(View view, MotionEvent motionEvent) {switch (motionEvent.getAction()) {case MotionEvent.ACTION_DOWN:orgX (int) motionEvent.getX();orgY (int) motionEvent.getY();break;case MotionEvent.ACTION_MOVE:offsetX (int) motionEvent.getRawX() - orgX;offsetY (int) motionEvent.getRawY() - orgY;// 限制 x 坐标offsetX Math.max(offsetX, mMinX);offsetX Math.min(offsetX, mMaxX);// 限制 y 坐标offsetY Math.max(offsetY, mMinY);offsetY Math.min(offsetY, mMaxY);update(offsetX, offsetY, -1, -1, true);break;case MotionEvent.ACTION_UP:// 小窗靠边if (offsetX mScreenWidth / 2) {offsetX mMinX;} else {offsetX mMaxX;}update(offsetX, offsetY, -1, -1, true);break;}// 避免 view 中的其他点击事件被吞掉return false;}});// 设置小窗背景this.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.abc_vector_test));// 出现的动画this.setAnimationStyle(R.style.PopupWindowAnimation);}public void show(View anchor) {this.showAtLocation(anchor, Gravity.NO_GRAVITY, mMaxX, mMaxY);}SuppressLint(CheckResult)public void setBackground(String url) {if (url ! null !TextUtils.isEmpty(url))Glide.with(mContext).load(url).into(mBackground);}public int dp2px(float dpValue) {return (int) (0.5f dpValue * Resources.getSystem().getDisplayMetrics().density);}public int getScreenWidth(Context context) {DisplayMetrics localDisplayMetrics new DisplayMetrics();((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(localDisplayMetrics);return localDisplayMetrics.widthPixels;} }最后在 MainActivity 中使用 mTextView findViewById(R.id.myView); if (mMyPopupWindow null) {mMyPopupWindow new MyPopupWindow(MainActivity.this); } mTextView.post(() - {mMyPopupWindow.show(mTextView); });
http://www.yutouwan.com/news/333075/

相关文章:

  • 网站建设找王科杰信誉怎样做网站排名优化
  • 专门做app的原型网站微信微商城在哪里进入
  • 招标文件免费下载网站轻量级cms
  • 做视频网站的上市公司网页该如何推广
  • 飞鱼网站建设千图网背景图片大全
  • 做哪类视频网站需要视频证书wordpress 数据库修改
  • 广西教育学会 网站建设wordpress绑定二级域名插件
  • 淘宝网站建设可行性分析杭州网站开发设计
  • 成都网站建设培训庐江县建设局网站
  • 怎么查看网站是否做百度排名网站建设服务的具体条件
  • 秦皇岛开发区建设局网站广州软件开发人力外包价格
  • 动态购物网站开发源代码上海企业制作网站有哪些
  • 网站首页的功能需求分析国外创意设计网站
  • 绵阳微信网站企业网络营销策划书模板
  • 网站备案注销原因打广告专用配图
  • 建设部网站监理公告视觉设计包括哪些
  • 佛山网站建设兼职定制和订制有什么区别
  • 专业 旅游网站建设如何对网站做渗透
  • 网站怎么做快捷方式网店推广的作用是什么
  • 常德网站开发合肥网站建设5k5
  • 自己如何建设校园网站公司推广策划方案
  • 网站设计师的岗位职责在线制作结婚证
  • 网站建设免费加盟代理分类信息网站模板
  • 襄阳门户网站建设佛山市网站建设公司
  • 简单写文章的网站房地产开发公司名字大全
  • 深圳专业网站建设免费送域名空间企业网站优化17
  • wordpress 游戏网站店铺装修设计网
  • 源码怎样做网站招标代理公司
  • 网站登录页模板html网页设计代码范例
  • 徐州本地网站自己怎么做跨境电商