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

信息平台网站建设装修公司展厅工艺样板

信息平台网站建设,装修公司展厅工艺样板,分享类网站怎么做,wordpress get post id文章目录 前言一、效果图二、实现步骤1.弹框xml(自己替换图标)2.弹框utils3.两个弹框动画4.封装方便调用5.调用6.长按事件方法7.跳转步骤8.复制utils 总结 前言 最近遇到一个需求#xff0c;就是App内大面积需要长按复制并跳转指定App#xff0c;没办法#xff0c;只能埋头… 文章目录 前言一、效果图二、实现步骤1.弹框xml(自己替换图标)2.弹框utils3.两个弹框动画4.封装方便调用5.调用6.长按事件方法7.跳转步骤8.复制utils 总结 前言 最近遇到一个需求就是App内大面积需要长按复制并跳转指定App没办法只能埋头苦干呐废话不多说直接干 一、效果图 二、实现步骤 1.弹框xml(自己替换图标) ?xml version1.0 encodingutf-8? RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalLinearLayoutandroid:idid/ll_shareandroid:layout_widthmatch_parentandroid:layout_height240dpandroid:layout_alignParentBottomtrueandroid:backgrounddrawable/bzhs_bff_8android:gravitycenter_horizontalandroid:orientationverticalRelativeLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginTop24dpTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_centerHorizontaltrueandroid:textstring/Pleaseselectanappandroid:textColor#232323android:textSize16dpandroid:textStylebold /ImageViewandroid:idid/imag_gbandroid:layout_width39dpandroid:layout_height30dpandroid:layout_alignParentRighttrueandroid:layout_marginRight16dpandroid:scaleTypecenterandroid:srcmipmap/ico_gban //RelativeLayoutLinearLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginLeft20dpandroid:layout_marginTop41dpandroid:layout_marginRight20dpandroid:layout_marginBottom45dpandroid:orientationhorizontalLinearLayoutandroid:idid/cancleandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_weight1android:gravitycenterandroid:orientationverticalImageViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:srcmipmap/telefram /TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_marginTop10dpandroid:textTelegramandroid:textColor#232323android:textSize16dp/TextView/LinearLayoutLinearLayoutandroid:idid/confirmandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_weight1android:gravitycenterandroid:orientationverticalImageViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:srcmipmap/whatsapp /TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_marginTop10dpandroid:textWhatsAppandroid:textColor#232323android:textSize16dp/TextView/LinearLayout/LinearLayout/LinearLayout/RelativeLayout 2.弹框utils package com.example.merchant.utils;import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.view.Gravity; import android.view.KeyEvent; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.NumberPicker; import android.widget.TextView;import com.example.merchant.R;import java.util.Calendar;/*** Created by caoliulang* ❤* Creation time :2023/9/01* ❤* Function APP选择弹框*/ public class APPDialog extends Dialog {Context context;MenuListener mMenuListener;View mRootView;private Animation mShowAnim;private Animation mDismissAnim;private boolean isDismissing;LinearLayout cancle;//取消LinearLayout confirm;//确定ImageView imag_gb;//关闭public APPDialog(Context context) {super(context, R.style.ActionSheetDialog);this.context context;getWindow().setGravity(Gravity.BOTTOM);initView(context);}private void initView(final Context context) {mRootView View.inflate(context, R.layout.app_dialog, null);cancle mRootView.findViewById(R.id.cancle);imag_gbmRootView.findViewById(R.id.imag_gb);confirm mRootView.findViewById(R.id.confirm);imag_gb.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {mMenuListener.onGb();}});confirm.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {mMenuListener.onSelect();}});cancle.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {cancel();}});this.setContentView(mRootView);initAnim(context);setOnCancelListener(new OnCancelListener() {Overridepublic void onCancel(DialogInterface dialog) {if (mMenuListener ! null) {mMenuListener.onCancel();}}});}private void initAnim(Context context) {mShowAnim AnimationUtils.loadAnimation(context, R.anim.translate_up);mDismissAnim AnimationUtils.loadAnimation(context, R.anim.translate_down);mDismissAnim.setAnimationListener(new Animation.AnimationListener() {Overridepublic void onAnimationStart(Animation animation) {}Overridepublic void onAnimationEnd(Animation animation) {dismissMe();}Overridepublic void onAnimationRepeat(Animation animation) {}});}Overridepublic void show() {super.show();mRootView.startAnimation(mShowAnim);}Overridepublic void dismiss() {if (isDismissing) {return;}isDismissing true;mRootView.startAnimation(mDismissAnim);}private void dismissMe() {super.dismiss();isDismissing false;}public MenuListener getMenuListener() {return mMenuListener;}public void setMenuListener(MenuListener menuListener) {mMenuListener menuListener;}Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode KeyEvent.KEYCODE_MENU) {dismiss();return true;}return super.onKeyDown(keyCode, event);}public interface MenuListener {void onCancel();void onSelect();void onGb();} } 3.两个弹框动画 ?xml version1.0 encodingutf-8? translate xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:fromYDelta100%android:toYDelta0android:duration250 /translate?xml version1.0 encodingutf-8? translate xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:fromYDelta0%android:toYDelta100%android:duration250 /translate4.封装方便调用 package com.example.merchant.utilsimport android.content.Context import android.view.Window import android.view.WindowManager import com.example.merchant.R/*** Author : CaoLiulang* Time : 2023/9/27 14:42* Description :*/ class AppTk {companion object {private lateinit var appDialog: APPDialog/*** app选择弹框*/fun showTimeDailog(message: String, context: Context) {appDialog APPDialog(context)CopyUtils.copy(message, context)val window: Window appDialog.window!!val lp window.attributes//这句就是设置dialog横向满屏了。lp.width WindowManager.LayoutParams.MATCH_PARENTlp.height WindowManager.LayoutParams.WRAP_CONTENTwindow.attributes lpappDialog.show()appDialog.setCanceledOnTouchOutside(false)appDialog.menuListener object : APPDialog.MenuListener {//Telegramoverride fun onCancel() {if (appDialog ! null) {appDialog.dismiss()//数据线连接设备命令输入adb shell pm list packages查看所有应用包名// 通过包名获取要跳转的app创建intent对象val intent context.packageManager.getLaunchIntentForPackage(org.telegram.messenger.web) // 这里如果intent为空就说名没有安装要跳转的应用嘛if (intent ! null) {// 这里跟Activity传递参数一样的嘛不要担心怎么传递参数还有接收参数也是跟Activity和Activity传参数一样context.startActivity(intent)} else {// 没有安装要跳转的app应用提醒一下ToastUtils.showToast(context.resources.getString(R.string.Youhavenotinstalledthissoftwareyet))}}}//WhatsAppoverride fun onSelect() {if (appDialog ! null) {appDialog.dismiss()//数据线连接设备命令输入adb shell pm list packages查看所有应用包名// 通过包名获取要跳转的app创建intent对象val intent context.packageManager.getLaunchIntentForPackage(com.whatsapp) // 这里如果intent为空就说名没有安装要跳转的应用嘛if (intent ! null) {// 这里跟Activity传递参数一样的嘛不要担心怎么传递参数还有接收参数也是跟Activity和Activity传参数一样context.startActivity(intent)} else {// 没有安装要跳转的app应用提醒一下ToastUtils.showToast(context.resources.getString(R.string.Youhavenotinstalledthissoftwareyet))}}}override fun onGb() {appDialog.dismiss()}}}} }5.调用 AppTk.showTimeDailog(text.text.toString(),this)6.长按事件方法 //长按事件fun setCAListener(text: TextView) {text.setOnLongClickListener(View.OnLongClickListener {AppTk.showTimeDailog(text.text.toString(),this)true})}7.跳转步骤 1数据线连接设备AS命令输入adb shell pm list packages查看所有应用包名 adb shell pm list packages2:通过报名获取要跳转的app // 通过包名获取要跳转的app创建intent对象val intent context.packageManager.getLaunchIntentForPackage(org.telegram.messenger.web) // 这里如果intent为空就说名没有安装要跳转的应用嘛if (intent ! null) {// 这里跟Activity传递参数一样的嘛不要担心怎么传递参数还有接收参数也是跟Activity和Activity传参数一样context.startActivity(intent)} else {// 没有安装要跳转的app应用提醒一下ToastUtils.showToast(context.resources.getString(R.string.Youhavenotinstalledthissoftwareyet))}8.复制utils package com.example.merchant.utilsimport android.content.ClipboardManager import android.content.Context import android.content.Context.CLIPBOARD_SERVICE import com.example.merchant.R/*** Author : CaoLiulang* Time : 2023/9/27 14:11* Description :复制工具类*/ class CopyUtils {companion object {fun copy(messsage: String?, context: Context) {var cm context.getSystemService(CLIPBOARD_SERVICE) as ClipboardManagercm!!.text messsage // 复制}fun copyts(messsage: String?, context: Context) {var cm context.getSystemService(CLIPBOARD_SERVICE) as ClipboardManagercm!!.text messsage // 复制ToastUtils.showToast(context.getString(R.string.Copysuccessfully))}} }总结 实现很简单就两步几行代码完美收工喜欢点个赞不喜欢点个关注谢谢
http://www.hkea.cn/news/14303869/

相关文章:

  • 哈尔滨网站小程序制作营销通
  • 网站建设培训班价格商品定制首页
  • 网站域名注册申请上海建筑设计院停工停产通知
  • 智慧团建网站入口官网品牌建设营销
  • 张家港市住房城乡建设局网站国外可以做非法网站吗
  • 做平面素材好的网站东莞网站建设推广费用
  • 做进化树的网站电工应用技术网站资源建设
  • 增长超人做网站多少钱网站如何做微信支付宝支付宝
  • 很长的网站域名怎么做短给素材网站做签约设计不想做了
  • 口碑好的做网站网站建设服务8
  • 关于做书的网站二手交易网站设计怎么做
  • 网站构建工具怎么做网站演示
  • python做网站稳定吗深圳 网站设计公司排名
  • 北京网站搭建多少钱权威发布是什么意思
  • 采集网站如何收录新手网站建设教程
  • 网站小程序开发公司北京建设网网站
  • 七米网站开发移动端网站建站视频
  • 教育网站开发用例图seo这个行业怎么样
  • 服饰网站建设模板企业建设网站怎么做账
  • 镇江网站建设平台网站logo怎么做动态图
  • 做期权注册网站做网站的软件工程师
  • 网站模板打包下载wordpress页面如何显示分类目录
  • 中国十大网站建设公司郑州高端网站
  • wordpress安装插件导致网站前端h5是什么意思
  • 制作网站图文教程网站互点都是怎么做的
  • 免费背景图片素材网站不用cms怎么做网站
  • 渭南华阴建设银行的网站是多少做爰视频免费观看网站
  • 网费一年多少钱做模板网站乐云seo效果好
  • 建设网站都要学些什么手续网站开发名片
  • 美团网站除佣金表格怎么做网站建设的费用是不是含税的