android-使用PopupWindow实现随机排列的自定义密码键盘

这篇具有很好参考价值的文章主要介绍了android-使用PopupWindow实现随机排列的自定义密码键盘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

break;

} else {

b2 = true;

}

}

if (b2) {

data[i] = x;

b = false;

break;

}

}

}

return data;

}

keyboard_bg_big.xml

<?xml version="1.0" encoding="utf-8"?>

<item

android:state_pressed=“true”

android:drawable=“@drawable/key11”/>

<item

android:state_focused=“true”

android:drawable=“@drawable/key12”/>

<item

android:state_focused=“false”

android:state_pressed=“false”

android:drawable=“@drawable/keyboard_key_style” />

keyboard_bg_small.xml

<?xml version="1.0" encoding="utf-8"?>

<item

android:state_pressed=“true”

android:drawable=“@drawable/key11”/>

<item

android:state_focused=“true”

android:drawable=“@drawable/key12”/>

<item

android:state_focused=“false”

android:state_pressed=“false”

android:drawable=“@drawable/keyboard_key_style” />

keyboard_bg_style.xml

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android=“http://schemas.android.com/apk/res/android”

android:shape=“rectangle” >

<gradient

android:angle=“90.0”

android:endColor=“#ffffff”

android:startColor=“#ffffff” />

<corners

android:bottomLeftRadius=“6.0dip”

android:bottomRightRadius=“6.0dip”

android:topLeftRadius=“6.0dip”

android:topRightRadius=“6.0dip” />

keyboard_key_style.xml

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android=“http://schemas.android.com/apk/res/android”

android:shape=“rectangle” >

<size

android:height=“36.0dip”

android:width=“80.0dip” />

<gradient

android:angle=“90.0”

android:endColor=“#D7D7D7”

android:startColor=“#D7D7D7” />

<corners

android:bottomLeftRadius=“6.0dip”

android:bottomRightRadius=“6.0dip”

android:topLeftRadius=“6.0dip”

android:topRightRadius=“6.0dip” />

random_keyboard.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:background=“@drawable/keyboard_bg_style”

android:orientation=“vertical” >

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_marginLeft=“3dp”

android:layout_marginRight=“3dp”

android:layout_marginTop=“3dp”

android:orientation=“horizontal” >

<Button

android:id=“@+id/keyboard_btn1”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“1”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn2”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“2”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn3”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“3”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn9”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“.”

android:textSize=“20dp” />

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_marginLeft=“3dp”

android:layout_marginRight=“3dp”

android:layout_marginTop=“3dp”

android:orientation=“horizontal” >

<Button

android:id=“@+id/keyboard_btn4”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“4”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn5”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“5”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn6”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“6”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn0”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“0”

android:textSize=“20dp” />

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_marginLeft=“3dp”

android:layout_marginRight=“3dp”

android:layout_marginTop=“3dp”

android:orientation=“horizontal” >

<Button

android:id=“@+id/keyboard_btn7”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_weight=“3”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“7”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn8”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“3”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“8”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn_del”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“2”

android:background=“@drawable/keyboard_bg_small”

android:gravity=“center_horizontal|center_vertical”

android:text=“删除”

android:textSize=“20dp” />

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_marginBottom=“3dp”

android:layout_marginLeft=“3dp”

android:layout_marginRight=“3dp”

android:layout_marginTop=“3dp”

android:orientation=“horizontal” >

<Button

android:id=“@+id/keyboard_btn_clear”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_big”

android:gravity=“center_horizontal|center_vertical”

android:text=“清空”

android:textSize=“20dp” />

<Button

android:id=“@+id/keyboard_btn_conf”

android:layout_width=“fill_parent”

android:layout_height=“55dp”

android:layout_marginLeft=“3dp”

android:layout_weight=“1”

android:background=“@drawable/keyboard_bg_big”

android:gravity=“center_horizontal|center_vertical”

android:text=“确定”

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

最后

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。

最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

【算法合集】

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

【延伸Android必备知识点】

android-使用PopupWindow实现随机排列的自定义密码键盘,程序员,android

【Android部分高级架构视频学习资源】

**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!文章来源地址https://www.toymoban.com/news/detail-859427.html

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

[外链图片转存中…(img-eZxXOWON-1711775341758)]

【算法合集】

[外链图片转存中…(img-rfZMfz6a-1711775341758)]

【延伸Android必备知识点】

[外链图片转存中…(img-7hTVEihP-1711775341758)]

【Android部分高级架构视频学习资源】

**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

到了这里,关于android-使用PopupWindow实现随机排列的自定义密码键盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安卓开发——控件AlertDialog实现方式,设置下部三个按钮,自定义布局设置.setView(dialogView)样式,控件PopupWindow1常用方法,showAsDropDown构造方法

     AlertDialog . Builder builder = new AlertDialog . Builder ( context ); 构建 Dialog 的各种参数  Builder . setlcon ( int iconld ); 添加 ICON   Builder . setTitle ( CharSequence title ); 添加标题  Builder . setMessage ( CharSequence message ); 添加消息  Builder . setView ( View view ); 设置自定义布

    2024年02月03日
    浏览(45)
  • 如何使用torch.nn.utils.prune稀疏神经网络,以及如何扩展它以实现自己的自定义剪裁技术

    最新的深度学习技术依赖于难以部署的过度参数化模型。 相反,已知生物神经网络使用有效的稀疏连通性。 为了减少内存,电池和硬件消耗,同时又不牺牲精度,在设备上部署轻量级模型并通过私有设备上计算来确保私密性,确定通过减少模型中的参数数量来压缩模型的最

    2024年02月12日
    浏览(44)
  • 自定义loadbalance实现feignclient的自定义路由

    服务A有多个同事同时开发,每个同事都在dev或者test环境发布自己的代码,注册到注册中心有好几个(本文nacos为例),这时候调用feign可能会导致请求到不同分支的服务上面,会出现一些问题,本文重点在于解决该问题 解决方案 调用流程 [外链图片转存失败,源站可能有防盗链机

    2024年02月11日
    浏览(40)
  • Android studio 之 弹窗PopupWindow

    参数一 ,用在弹窗中的View(注意不是布局资源id,所以要根据布局资源id转换成view) 布局文件(.xml文件)定义了UI元素的结构和外观,而View对象则代表了布局中的一个具体的UI元素。 通过使用LayoutInflater类,我们可以将布局文件解析成一个View对象,然后将布局文件转换为实际可见的

    2024年01月22日
    浏览(75)
  • (一) 盘古UI,全网独创,较为全面的自定义Android UI框架,绝对帮助你快速开发!(盘古输入框-PanguInputView)

    (一) 盘古UI,较为全面的自定义UI框架,帮助你绝对的快速开发!(长期维护中) demo地址,点击查看github 1, 样例展示图 2, 介绍 支持你所需要的常用的属性样式和功能! 下面直接上属性列表: attr 属性 对应的方法 method 介绍 introduction pgiv_title setTitle(String title) 标题 pgiv_title_color setTitleC

    2024年04月14日
    浏览(41)
  • (二) 盘古UI,全网独创,较为全面的自定义Android UI框架,绝对帮助你快速开发!(盘古导航栏-PanguNavBar)

    (二) 盘古UI,较为全面的自定义UI框架,帮助你绝对的快速开发!(长期维护中) demo地址,点击查看github 1, 样例展示图 2, 介绍 个性化导航栏,标题栏,可以灵活设置和配置各种属性和事件! 下面直接上属性列表: attr 属性 对应的方法 method 介绍 introduction pangu_title_mid setMidTitle(String title)

    2024年04月14日
    浏览(47)
  • react实现模拟弹框遮罩的自定义hook

    点击按钮用于检测鼠标是否命中按钮 React好玩的自定义hook-useClickOutSide_哔哩哔哩_bilibili

    2024年02月12日
    浏览(42)
  • android——spinner下拉弹窗、popupwindow下拉弹窗列表

    效果图如下: adapter的代码: xml代码: MainActivity代码 具体的代码下载地址为:https://download.csdn.net/download/wy313622821/88274359 效果图为:     代码下载地址为: https://download.csdn.net/download/wy313622821/88275750

    2024年02月09日
    浏览(47)
  • 微信小程序的自定义TabBar及Vant的使用

    1、在 资源管理器 空白位置,点右键打开 在外部终端窗口打开 2、初始化NPM npm init -y 3、安装命令 npm i @vant/weapp@1.3.3 -S --production 4、构建NPM包 在 工具 里选择构建NPM包 5、删除style:v2 在app.json里,删除\\\"style\\\":\\\"v2\\\" 6、按需引入 7、使用 1、定义 2、使用 1、配置 在app.json中的 ta

    2024年02月14日
    浏览(41)
  • 安卓Bottom Navigation Activity的自定义使用,即常见错误的处理

            首先我们建立一个带有Bottom Navigation Activity项目,新建项目时直接选择Bottom Navigation Activity即可,也可以右键新建Bottom Navigation Activity活动。 初始化的项目结构如下: java中ui文件夹中包含的三个文件夹即为底部导航栏的三个模块,xxxFragment为碎片文件,xxxViewModel为

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包