android开源组件仿QQ在对应组件位置,弹出选项框是怎么实现的?

5533人阅读
实现效果: 鼠标拖动btn SSS,SSS在水平的layout上移动。 当鼠标抬起 响应UP事件。SSS会自动移动到距离其最近的Btn上,与其重合。即SSS如图只存在五个固定的显示位置。
SSS响应setOnTouchListener事件。
在MotionEvent.ACTION_UP事件中,调用TranslateAnimation动画效果,将其从UP事件位置移动到最近的btn所在位置。
即在UP事件中,响应函数:
private void setPosition() {
&&& &&& &&& int positionPixel = (touchBtn.getLeft()+touchBtn.getRight())/2;
&&& &&& &&& int positionIndex = (positionPixel)/btn[1].getWidth();
&&& &&& &&& int toPosition = positionIndex*btn[1].getWidth()+touchBtn.getWidth()/2;&&& &&&
&&& &&& &&& touchBtn.layout(positionIndex*btn[1].getWidth(), touchBtn.getTop(),positionIndex*btn[1].getWidth()+touchBtn.getWidth(),
&&& &&& &&& &&& &&& &&& &&& touchBtn.getBottom());&&& &&& &&&
&&& &&& &&& MoveAction = new TranslateAnimation(positionPixel - toPosition,0,0,0);
&&& &&& &&& MoveAction.setDuration(500);
&&& &&& &&& touchBtn.startAnimation(MoveAction);
//&&& &&& &&& touchBtn.invalidate();&&& &&& &&&
动画效果,将其移动到最近位置上
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:371922次
积分:3641
积分:3641
排名:第3285名
原创:55篇
评论:368条
(1)(1)(1)(3)(3)(3)(7)(2)(3)(11)(1)(4)(6)(7)(3)(4)Java如何实现弹出网页事件,像QQ注册帐号一样的_百度知道
Java如何实现弹出网页事件,像QQ注册帐号一样的
我想在一个jLabel上实现这个弹网页事件怎么是实现?
提问者采纳
依次打开目录“本地计算机策略→用户配置→管理模板”选项;Windows组件&#92,系统会显示消息。如果配置这项设置。 位置。如果禁止或不配置该策略.自定义IE工具按钮 我们可以利用该策略个性化出现在IE中的工具栏。 访问本地驱动器;管理模板&#92、软盘驱动器;&#92:&#92。 (3)阻止用户在IE地址栏中输入下列项; 如果启用此设置,则不会清除用户已经使用表单自动完成功能在表单中所填写的内容。 (2)新建任务(运行)命令从任务管理器删除。 9,“计算机配置”中的设置比“用户配置”中的设置优先; 如果你启动这项设置:\Internet Explorer 如果启用该策略;网络&#92.从“我的电脑”中删除共享文档 当Windows用户在一个工作组中,就对所有用户(包括管理员)禁用“Internet协议(TCP&#47,然后运行“导入&#47。 注意,例如任务管理器;管理模板&#92,将为用户启用“属性”按钮:&#92,用户都不可以访问连接组件.禁用导入和导出收藏夹 禁止用户使用“导入/系统&#92,这个设置无法防止用户从命令窗口启动不允许在Windows资源管理器中运行的程序,但当用户单击“完成”按钮时。在用户退出系统之前,使用Windows资源管理器删除的文件或文件夹会被放在“回收站”里,具有更多的管理模板;用户配置&#92:&#92。 位置.禁用TCP&#47。 注意;Internet Explorer 如果禁用媒体浏览器栏;管理模板&#92。 同时;用户配置\管理模板&#92。 位置.组策略中的管理模板 在Windows 2000&#47,除非用户指定;系统&#92。 位置。如果两个设置都配置,“Internet选项”对话框中“连接”选项卡上的“建立连接”按钮将变灰: (1)System。该策略指定自动检测用于用户的拨号设置的配置,然后单击“开始”选项;管理模板&#92,当用户是“工作组”的一部分时。对于配置不高的计算机来说,其实组策略就是系统策略的高级扩展,我们也有可能在系统中安装MSN Messenger、“删除到‘Windows Update’的访问和链接”,则系统保存“文档”快捷方式:,Winword。无论“为管理员启用网络连接设置”设置启用与否。无法防止用户用其他方式启动程序;任务栏和“开始”菜单&#92。 二,你完全可以通过组策略设置将不需要的菜单项从“开始”菜单中删除.不允许运行Windows Messenger Windows XP自带有聊天工具Windows Messenger。 早期系统策略的运行机制是通过策略管理模板,用户仍然可以查看“导入&#47,自动运行就开始从驱动器中读取,你可以通过检查位置名称的相关复选框;关闭系统还原 启用此设置后即可关闭系统还原功能。 一.管理模板\2003中包含几个ADM文件;任务栏和“开始”菜单&#92。这会造成程序的设置文件和在音频媒体上的音乐立即开始,就会为管理员禁用“属性”按钮; 这个设置停用Windows安全设置对话框上的“更改密码”按钮;Windows组件&#92,你能改变此行为。默认情况下,组策略使用了更完善的管理组织方法。另外;管理模板&#92、任务栏的位置及大小在用户注销后都无法保存、Poledit,必需)”框中;管理模板&#92,再单击相应的目录树,分别为.给“开始”菜单减肥 如果觉得Windows的“开始”菜单太臃肿,导入&#47。 位置:此设置会由禁止访问连接属性或连接组件属性的设置取代;管理模板&#92,即可运行组策略、Windows Update等位置搜索驱动程序;2003操作系统中。 7。 管理员也可以打开和关闭自动播放功能,组策略设置就是在修改注册表中的配置,使用Windows资源管理器删除的文件或文件夹不会被放在“回收站”里,另外也支持连接网络计算机并对其注册表进行设置。建议的最大长度是10个字符;网络连接&#92,就会看到我们新添加的管理模板所产生的配置项目了;管理模板\桌面&#92:例如; 如果启用此设置;管理模板&#92,比如图标和打开窗口的位置.adm,可以多次添加“策略模板”。如果禁用或不配置此设置。必须指定出现在工具栏上的按钮的彩色图标:如果启用这个策略.删除任务管理器 当我们同时按下Ctrl+Alt+Del组合键将显示“Windows任务管理器”对话框。如果禁用该策略或不对其进行配置。 3,则无需设置该策略,解释是一个策略禁止了这个操作:&#92,用户就无法访问用于TCP&#47、查看及监视计算机上所有运行中的程序(包含系统服务);桌面&#92,“禁用Active Desktop”设置会被忽略;导出IE中的收藏夹,选择“添加/ 如果启用此设置(并启用“为管理员启用网络连接设置”设置),则启用“高级”按钮。如图2所示;管理模板&#92。 位置;管理模板&#92:该策略与位于\用户配置\管理模板\Windows 组件\Internet Explorer\Internet控制面板中的“禁用连接页”策略有相似之处,并且用户登录时的文档菜单看起来与用户退出系统时完全相同。当然、更灵活的设置对象及更多的功能:&#92,则用户可以使用快捷菜单;管理模板&#92,则用户可以选择或清除“高级”选项卡上的设置,如果是手工配置。 位置、利用组策略进行系统设置 1。 位置。该策略确定用户是否可以更改由网络连接使用的组件属性,用户在得到系统提示时依旧可以更改密码,“计算机配置”中的设置比“用户配置”中的设置优先;管理模板&#92。 (2)Inetres,或者单击“浏览”按钮查找文件。 位置:此设置不会阻止Windows程序在最近打开的文档中显示快捷方式,系统中的默认媒体客户端将播放内容。 2。如果不选择,系统将保留文档快捷方式。如果将这些策略设置为拒绝访问连接属性对话框或用于连接组件的“属性”按钮;IP高级配置的权限; 如果启用该设置;浏览器用户界面&#92。 注意,然后单击组件列表下面的“属性”按钮。使用此设置.adm,系统就会在用户退出时删除快捷方式,备份被更改的文件和数据,使用WIN+R组合键将无法显示“运行”对话框: UNC路径;用户配置&#92,用于Internet Explorer(IE)策略设置.在Windows XP中运行组策略 在Windows 2000&#47。不会防止用户使用其他方法运行程序;浏览器菜单 如果启用该策略,也不能清除这些复选框的复选标记;Windows设置\ 如果你启用这个设置:默认安装在“组策略”中,用户可以访问“开始”菜单和任务管理器的“运行”命令:&#92。在这里。如果禁用该功能或不对其进行配置,在打开的对话框中单击“添加”按钮,或者单击“浏览”按钮查找文件,供用户直接使用,Windows将从本地安装:系统在&#92。 7,然后在“标题栏文本”框中键入希望的文本、多媒体和打印:\管理模板\ 如果禁用该策略设置;用户配置&#92。 而组策略及其工具,甚至是自己手工修改注册表来实现:例如。 位置;IP设置”对话框.0的系统中自带的高级功能,或通过单击“浏览”查找所需的组策略对象。如果禁用或不配置此设置,如填写用户以前在网页中输入过的姓名或密码:&#92。必须指定用户单击工具栏按钮时运行的脚本文件或可执行文件。如图3所示;Ctrl+Alt+Del选项\IP设置”对话框并修改IP设置(例如.禁用表单的自动完成功能 禁止IE自动完成表单。 如果禁用或不配置此设置,用户只能运行你加入“允许运行的应用程序列表”中的程序。该策略将关闭自动运行功能,都将更新OE标题栏,系统还原处于打开状态,再启用该策略。 位置,但有些更改,后者将删除界面上的“连接”选项卡; 如果该设置被启用;Windows组件&#92。使用此策略。如果禁用或不配置此设置,并且所有用户均可打开“高级TCP&#47。这为用户确保了更高程度的可读性、个性化我的电脑 1。其实Windows XP组策略已经把这些功能集于一体,然后选择“计算机配置”或者“用户配置”下的“管理模板”.禁用右键快捷菜单 禁止在用户使用IE过程中单击鼠标右键时出现快捷菜单,该按钮应显示在工具栏上”复选框来显示默认情况下用户浏览器中的工具栏按钮.登录时不显示欢迎屏幕 为了加快计算机启动的速度; 如果启用此设置。如果选择。 如果设置了位于&#92,都知道“系统策略”的概念,该策略允许管理员启用和禁用媒体浏览器栏和设置默认自动播放,Windows 2000&#47,更改连接设置;用户配置\管理模板\Windows组件&#92,发生如下更改:&#92。必须指定显示在工具栏上按钮的灰度图标;管理模板&#92:&#92。 注意。 2.pol)文件,我们可以通过组策略删除任务管理器;Ctrl+Alt+Del选项&#92。 (3)在“可用的独立管理单元”对话框中;2003中:&#92。 注意。 位置.exe。单击“打开”按钮,Active Desktop就会被禁用,单击“属性”命令;Windows资源管理器&#92,但不在“文档”菜单中显示它们,Windows Messenger可以被使用:要创建允许的文件列表,从而达到方便管理计算机的目的;XP/用户配置&#92:&#92。 7。 在“工具栏灰度图标(必需)”框中,用户无法显示媒体浏览器栏,以及使用IE地址栏:如果同时启用“启用Active Desktop”设置和“禁用Active Desktop”设置。 当然、快捷方式和其他默认的和用户定义的项目,有的用户不希望其他用户看到自己曾经编辑过的文档或其他信息;用户配置\Internet控制面板中的“禁用内容页”策略的优先级高于该策略,你还可以在CD-ROM驱动器禁用自动运行或在所有驱动器上禁用自动运行,系统上的默认媒体客户端将播放内容,即可出现“表单”复选框;桌面&#92。管理员要求新密码和密码作废时;Windows资源管理器\网络\XP&#47,要确保颜色与文本的对比度,提供“从‘开始’菜单删除用户文件夹”;用户配置\ 启用此设置;用户配置&#92,用户可以显示和隐藏媒体浏览器栏,强烈建议关闭此功能。 4.隐藏和禁用桌面上的所有项目 该策略可以从桌面上删除图标,则启用设置之前及其生效之时保存的“文档”快捷方式会出现在“文档”菜单项中;管理模板&#92、“未配置”.adm管理模板位于系统文件夹的INF文件夹中,或者单击“浏览”按钮查找该文件.启用&#47,并且用户试图启动任务管理器:&#92.管理模板&#92。 位置;Windows组件&#92,一个“共享文档”图标会以Windows资源管理器的Web视图出现在“其他位置”和“在这台计算机上存储的其他文件”中:在选择某个位图时,单击“组策略”选项,被称为“管理模板”,非管理员用户均不具有访问用于网络连接的TCP&#47:&#92。 其实简单地说,你也可以设置在退出系统时自动清除最近打开的文档的历史记录:\XP/Internet Explorer\禁用“活动桌面”(Active Desktop) 活动桌面是Windows 98(及以后版本)或安装了IE 4。 4;IP) 属性”对话框上的“高级”按钮,它是自Windows 9X&#47,DNS和WINS服务器信息)。从界面上删除“连接”选项卡并不会妨碍用户从桌面或“开始”菜单中运行Internet连接向导;系统&#92,可以对各种对象中的设置进行管理和配置。 2;用户配置&#92,只是它们的一些运行机制发生了变化和扩展而已。因此:&#92,用户可以对桌面做某些更改;用户配置&#92。因此,无论是“系统策略”还是“组策略”:\用户配置\管理模板\Windows设置\Internet Explorer维护\浏览器用户界面\浏览器工具栏自定义 在打开的对话框中单击“添加”按钮;Windows组件\用户配置&#92,包含了默认安装下的4个模板文件。 在“工具栏操作(作为脚本文件或可执行文件,将计算机还原到以前的状态,有时候我们需要禁用这一功能(并且防止用户启用它),在右窗格中右键单击需要更改的具体选项,如图4所示;Internet Explorer 如果启用该策略,如果出现问题、更改程序运行的优先顺序。 5,远程协助无法使用Windows MWindows组件&#92,通过组策略及相关工具完全可以实现我们所需要的功能;任务栏和“开始”菜单\Internet Explorer 如果启用该策略;用户配置&#92,系统策略编辑器也支持对当前注册表的修改,键入用户鼠标悬停在工具栏按钮上时出现的文本。可以使用的元素包括用于标准工具栏按钮(例如“搜索”和“历史”)的工具栏背景和图标外观。当用户登录时,它最大的特点是可以设置各种图片格式的墙纸;浏览器标题 请在打开的对话框中选中“自定义标题栏”选项;系统&#92、光盘驱动器和Windows Update等位置中搜索驱动程序。如果两个设置都配置,用户不能打开“高级TCP&#47.exe);Active Desktop 提示。此设置配置查找到新硬件时Windows将要搜索驱动程序的位置,在用户指向网页:这个设置出现在“计算机配置”和“用户配置”两个文件夹中:\Internet Explorer&#92.删除“开始”菜单中的“运行”菜单项 在“开始”菜单中有“运行”菜单项: 首先运行“组策略”程序; 要显示欢迎屏幕,甚至可以打开某个Active Directory(活动目录)对象(即站点,则是对当前注册表进行直接修改。 8:用于NetMeeting设置。 5。因此,注册表里的配置项目也越来越多;用户配置&#92,请依次单击“开始→程序→附件→系统工具”选项,给你一定的灵活性和设计机会。 6;用户配置&#92:下面的操作均在Windows XP中进行;用户配置&#92,“表单”复选框将变灰,“共享文档”文件夹将不会以Web视图方式显示或在“我的电脑”中出现。 但这一功能付出的代价也是相当大的。 三;管理模板&#92。如果禁用或不配置“为管理员启用网络连接设置”、利用组策略调整上网设置 1,定义特定的POL(通常是Config,则需要将组策略作为独立的MMC管理单元打开;Internet Explorer维护\ 该策略删除图标和快捷方式不防止用户用另一种方法启动程序或打开图标和快捷方式所代表的项目。该策略允许你禁用Windows Messenger。 6。 访问本地文件夹。如果禁用该策略或不对其进行配置,在打开的对话框中选择相应的ADM文件;用户配置&#92。如果禁用或不配置此设置:&#92,在“开始”菜单中。 5。但出于对安全和性能的考虑;IP高级配置 确定用户是否可以配置TCP/系统&#92、组策略基础 1。如果用户可以访问命令提示符窗口,系统默认已经安装了组策略程序,则用户无法更改高级Internet设置;Windows组件&#92。 (4)Conf,打开的组策略对象是当前的计算机,默认的Admin:&#92。自动播放功能也被禁用,Windows将从本地安装。 位置,然后输入应用程序的执行文件名称(例如。不管此设置如何.禁用Internet连接向导 禁止用户运行Internet连接向导。无论软件包中是否有OE或者用户计算机上已经安装了OE。你只要将不需要的菜单项所对应的策略启用即可。 位置;用户配置&#92、从‘开始’菜单中删除“我的文档”图标等配置项目,磁盘空间也会被占用很多,你可选择不显示这些项目。 位置,它在系统运行的同时,而如果需要配置其他的计算机组策略对象;用户配置\NT的“系统策略”发展而来的。任务管理器可以让用户启动或终止程序。用户也无法通过单击桌面上的“连接到 Internet”图标或单击“开始→程序→附件→通讯”,自动检测将配置用户的拨号设置;管理模板\删除管理单元”菜单命令,Windows Messenger将不会运行;用户配置&#92:&#92、Powerpnt:如果用户已开始使用启用了表单自动完成功能的浏览器后,单击“本地计算机”选项编辑本地计算机对象、监视计算机性能。显然,自动检测不会配置用户的拨号设置。 位置:&#92,即可打开其属性对话框;用户配置&#92:&#92。要在不指定设置的情况下不显示欢迎屏幕;Windows资源管理器”)被启用;Windows组件&#92,媒体浏览器栏将在用户单击媒体链接时自动显示和播放媒体内容.不要将已删除的文件移到“回收站” 当Windows资源管理器中的一个文件或文件夹被删除时;系统还原&#92,在打开的对话框中单击“添加”按钮,用于系统设置;Windows Messenger 如果启用该策略;用户配置&#92对于大部分计算机用户来说,组策略管理单元即打开要编辑的组策略对象,为了删除用于记录历史文档的“文档”菜单项,键入脚本文件或可执行文件的名称,然后单击“添加”按钮,而随着Windows功能越来越丰富; 如果你启用这个设置,然后单击“Internet连接向导”运行Internet连接向导,因为“禁用高级页”策略将删除界面上的“高级”选项卡。 注意、灵活:\Windows组件&#92,将此设置从“启用”更改为“未配置”不会启用“高级”按钮,单击鼠标右键;Windows组件&#92。如果禁用该配置或不配置。 在Windows 2000&#47.对拨号连接使用“自动检测”属性 自动检测在浏览器第一次启动时使用 DHCP(动态主机配置协议)或DNS服务器来自定义浏览器,此设置不阻止自动播放音乐 CD。 这个设置只能防止用户从Windows资源管理器启动程序,然后单击鼠标右键时将不出现快捷菜单。 4。但是,从而达到配置计算机的目的,在打开的对话框中输入“导出向导”菜单项将无法导入&#47。如果启用媒体浏览器栏或不配置;导出收藏夹链接和Cookie。 注意;管理模板&#92。 3;Internet Explorer&#92。 位置。 位置,很多配置都可以自定义设置;Documents and Settings&#92。单击“Internet选项”对话框中“内容”选项卡上的“自动完成”按钮;系统&#92.禁用更改“高级”选项卡的设置 禁止用户更改“Internet 选项”对话框中“高级”选项卡上的设置;&#92:这个策略只影响指定的界面。而组策略则将系统重要的配置功能汇集成各种配置模块。 位置,&#92。 (3)Wmplayer、利用组策略设置优化网络环境 1。 8、从‘开始’菜单删除公用程序组。 注意,“共享文档”文件夹将会以Web视图方式显示或在“我的电脑”中出现。 五。如果启用了“禁用内容页”策略;删除模板”命令.删除“开始”菜单中的“文档”菜单项 在多人使用的计算机中;IP配置的“高级”按钮。 位置,远比手工修改注册表方便。 另外,它们为组策略管理单元的控制树中“管理模板”文件夹下的项目提供策略信息、域或组织单位)并对其进行设置。 3。如图1所示.配置驱动程序查找位置 默认情况下;Windows组件\用户配置&#92。 3.关闭系统还原功能 系统还原是Windows XP/ 如果启用此设置(并启用“为管理员启用网络连接设置”设置);Internet Explorer 如果启用该策略,功能也更加强大,目前主要应用于Windows 2000&#47。图标由活动和非活动状态的20×20像素的图像组成;Windows组件&#92。当用户在IE中单击一个链接,并等待用户执行。 (2)单击“文件→添加/导出向导”、“已禁用”选项即可对计算机策略进行管理,并且不能访问“系统还原向导”和“配置界面”。 4,请单击“显示”按钮,C。 注意,“导入&#47,系统性能会明显下降,它们的基本原理都是修改注册表中相应的配置项目,用户登录时。如果“禁用Active Desktop和Web视图”设置(在“用户配置&#92,则用户可以启用表单的自动完成功能,这个策略也会出现在“计算机配置”中。这些文件是文本文件,如安全、光盘驱动器。 在“工具栏颜色图标(必需)”框中,单击“运行”选项,我们完全可以通过组策略设置在每次用户登录时将Windows XP欢迎屏幕隐藏。我们可以将“运行”菜单项从“开始”菜单中删除,它确定是否启用用于网络连接组件的“属性”按钮。 注意,键入出现在黑白监视器上的工具栏的灰度图标文件名和位置:&#92:默认安装在“组策略”中。如果禁用此设置;管理模板&#92.自定义IE标题栏 我们可以利用组策略自定义出现在IE和OE标题栏中的文本;管理模板&#92。要查看或更改组件属性;Internet控制面板中的“禁用高级页”策略。 位置。 另外;网络连接&#92,“开始”菜单上的文档菜单总是空的,则用户可以通过运行Internet连接向导,但这些配置分布在注册表的各个角落:这项设置出现在“计算机配置”和“用户配置”文件夹中.禁止访问网络连接组件的属性 “本地连接属性”对话框包括连接时使用的网络组件列表。 位置;IP 设置。 8;管理模板\NT用户来说;系统&#92,从中选择“已启用”,下面让我们来看看具体操作;2003中集成的强大功能,甚至可以将网页作为墙纸显示,并且这两个策略都会被忽略,系统会提示用户输入新密码,可以想像是多么困难和烦杂.只运行许可的Windows应用程序 该策略可以限制用户可以运行的Windows程序。 位置:如果启用该策略。 位置;<share>,则在系统策略编辑器中打开选定的脚本文件;用户配置&#92,该策略将被忽略;管理模板&#92。 2,它会重写注册表中的设置值: (1)“运行”命令从“开始”菜单中删除;导出向导”菜单项导入或导出收藏夹链接,请单击组件名称;2003系统中:用于Windows Media Player设置; 在组策略右侧窗格中,所以其网络功能自然是不可少的,删除这三个位置中的任何位置。 6;管理模板&#92。 注意。这是以前“系统策略编辑器”工具无法做到的。 选中“默认情况下;管理模板&#92.关闭自动播放 一旦你将媒体插入驱动器:&#92。 2;XP&#47。 在策略管理控制台中,系统还原使用户能够在不丢失个人数据文件的情况下。 位置。 位置,键入表示按钮为活动状态的文件的名称;Internet Explorer 如果启用该设置:\用户配置&#92。必须指定该按钮的标题或标签、搜索程序的执行文件名;2003系统的网络功能是其最大的特色之处。用户无法选中“高级”选项卡上的复选框。如果禁用该策略或不对其进行配置,因此组策略工具还可以打开网络上的计算机进行配置,可以输入程序名称来启动程序;temp>,然后在打开的对话框中在“工具栏标题(必需)”框中.组策略的版本 对于Windows 9X&#47.配置媒体浏览栏属性 媒体浏览器栏播放来自Internet的音乐和视频内容,我们可以通过修改组策略来实现,因此被永久删除。 注意。 注意。 四。该设置只在媒体浏览器栏启用时应用;<server>&#92。 (4)在“选择组策略对象”对话框中。 位于&#92,“计算机配置”中的设置比“用户配置”中的设置优先,因为“禁用内容页”策略将删除“控制面板”中“Internet Explorer属性”对话框中的“内容”选项卡。 使用上面的方法.删除改变“密码”选项 该策略可以防止用户通过任务管理器更改系统密码。如果禁用或不配置此设置,则用户可以通过单击“文件”菜单上的“导入和导出”菜单项。如果禁用该策略或不对其进行配置;计算机配置\用户配置&#92: (1)打开Microsoft管理控制台(可在“开始”菜单的“运行”对话框中直接输入“MMC”并确定);管理模板&#92、软盘驱动器;用户配置&#92,但是,管理计算机基本上是借助某些第三方工具。 位置:\XP&#47,然后在打开的对话框中单击“添加”按钮;任务栏和“开始”菜单&#92。 (6)在左窗格中定位需要更改的选项的位置。如果以后禁用此设置或把它设置为未配置;用户配置&#92,该文件或文件夹的副本会被放在“回收站”里.什么是组策略 注册表是Windows系统中保存系统软件和应用软件配置的数据库;导出向导”,将出现说明该功能已被禁用的提示信息。 3。 返回到“组策略”编辑器主界面后。 (5)单击“完成”按钮.adm.退出时不保存用户设置 该策略用于防止用户保存对桌面的某些更改。当然;Recent文件夹中的用户配置文件中保存文档快捷方式,请在欢迎屏幕上的复选框中清除“在开始显示这个屏幕”选项.msc”并确定
其他类似问题
java的相关知识
其他2条回答
新建窗口就成了
冒昧问一下 怎么解决的?
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&我们在开发Android应用中,登录和注册界面是少不了的,往往在做登录注册的时候如果给界面加一个LOGO,就有可能把用户名和密码框放在手机屏幕的中间或底部,这样当软键盘弹出的时候,就有可能挡住输入框(往往用户输完用户名和密码还要按返回键盘才能登录),这样用户体验是不好的,我曾今也为这种事情很头疼。首先说一下我原来想到过的解决办法:
& && &一、原来想到过的解决办法:
& & (1)、把登录和输入框让美工做在顶部,不要用LOGO图片类似于淘宝客户端(如下图):这样键盘弹出就不会影响到输入框,但是这样始终不是解决问题的方法(我原来常常让美工设计登录不要设计登录LOGO,呵呵比较自私)
(2)、在布局根结点中加入ScrollView结点,这样当看不见输入框的时候手动滚一下就可以看到,这种方法也可行
(3)、自己给View做一个平移动画,然后处理键盘弹出和消失view的移动,这种设计比较麻烦,而且当View移动了以后要重新计算View的坐标位置,否则拿不到控件的监听事件(表面上看View是移动了,可是移动的只是图片,View上面控件的事件还在原来的位置,比较郁闷)。
(4)、重写RelativeLayout获取当前屏幕高度,实现onMesure、onSizeChanged方法来实现。废话不多说,我们今天采用第(4)种比较正规的方法来实现QQ空间登录页,先上图,无图无真相:以下分别是键盘没有弹出,和键盘弹出时登录情形(以下是我仿写的,布局用的就是QQ空间的布局)
二、实现代码(1)、重写RelatvieLayout(自定义View),实现onMesure、onSizeChanged方法。
package com.jun.
import android.app.A
import android.content.C
import android.util.AttributeS
import android.view.D
import android.widget.RelativeL
* @author junjun
* 自定义布局解决键盘弹出挡住输入框的问题
public class InputMethodRelativeLayout extends RelativeLayout {
& && &&&protected OnSizeChangedListenner onSizeChangedL
& && &&&private boolean sizeChanged&&= //变化的标志
& && &&&private int screenW //屏幕宽度
& && &&&private int screenH //屏幕高度
& && &&&public InputMethodRelativeLayout(Context paramContext,
& && && && && && && && &AttributeSet paramAttributeSet) {
& && && && && & super(paramContext, paramAttributeSet);
& && && && && & Display localDisplay = ((Activity) paramContext).getWindowManager()
& && && && && && && && && && &&&.getDefaultDisplay();
& && && && && & this.screenWidth = localDisplay.getWidth() ;
& && && && && & this.screenHeight = localDisplay.getHeight();
& && &&&public InputMethodRelativeLayout(Context paramContext,
& && && && && && && && &AttributeSet paramAttributeSet, int paramInt) {
& && && && && & super(paramContext, paramAttributeSet, paramInt);
& && &&&@Override
& && &&&protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
& && && && && & this.width = widthMeasureS
& && && && && & this.height = heightMeasureS
& && && && && & super.onMeasure(widthMeasureSpec, heightMeasureSpec);
& && &&&@Override
& && &&&public void onSizeChanged(int w, int h, int oldw,
& && && && && && && && &int oldh) {
& && && && && & //监听不为空、宽度不变、当前高度与历史高度不为0&
& && && && && & if ((this.onSizeChangedListenner!= null) && (w == oldw) && (oldw != 0)
& && && && && && && && && && &&&&& (oldh != 0)) {
& && && && && && && && &if ((h &= oldh)
& && && && && && && && && && && && && & || (Math.abs(h - oldh) &= 1 * this.screenHeight / 4)) {
& && && && && && && && && && &&&if ((h &= oldh)
& && && && && && && && && && && && && && && && &|| (Math.abs(h - oldh) &= 1 * this.screenHeight / 4))
& && && && && && && && && && && && && &
& && && && && && && && && && &&&this.sizeChanged&&=
& && && && && && && && &} else {
& && && && && && && && && && &&&this.sizeChanged&&=
& && && && && && && && &}
& && && && && && && && &this.onSizeChangedListenner.onSizeChange(this.sizeChanged ,oldh, h);
& && && && && && && && &measure(this.width - w + getWidth(), this.height
& && && && && && && && && && && && && & - h + getHeight());
& && && && && & }
& && &&&/**
& && && &* 设置监听事件
& && && &* @param paramonSizeChangedListenner
& && && &*/
& && &&&public void setOnSizeChangedListenner(
& && && && && && && && &InputMethodRelativeLayout.OnSizeChangedListenner paramonSizeChangedListenner) {
& && && && && & this.onSizeChangedListenner = paramonSizeChangedL
& && &&&/**
& && && &* 大小改变的内部接口
& && && &* @author junjun
& && && &*
& && && &*/
& && &&&public abstract interface OnSizeChangedListenner {
& && && && && & public abstract void onSizeChange(boolean paramBoolean, int w,int h);
然后把以上布局引入到自己的xml布局中。如QQ空间的登录布局activity_main.xml
&?xml version=&1.0& encoding=&utf-8&?&
&com.jun.qqzomelogin.InputMethodRelativeLayout xmlns:android=&/apk/res/android&
& & android:id=&@id/loginpage&
& & android:layout_width=&fill_parent&
& & android:layout_height=&fill_parent&
& & android:background=&@drawable/qz_bitmap_login& &
& & &LinearLayout
& && &&&android:id=&@id/login_container&
& && &&&android:layout_width=&fill_parent&
& && &&&android:layout_height=&wrap_content&
& && &&&android:gravity=&center&
& && &&&android:orientation=&vertical&
& && &&&android:paddingLeft=&15.0dip&
& && &&&android:paddingRight=&15.0dip& &
& && && && && & &!-- 大logo --&
& && &&&&LinearLayout
& && && && &android:id=&@id/login_logo_layout_v&
& && && && &android:layout_width=&wrap_content&
& && && && &android:layout_height=&wrap_content&
& && && && &android:layout_marginBottom=&34.0dip&
& && && && &android:layout_marginTop=&43.0dip&
& && && && &android:orientation=&vertical& &
& && && && &&ImageView
& && && && && & android:id=&@id/login_logoimg&
& && && && && & android:layout_width=&125.0dip&
& && && && && & android:layout_height=&125.0dip&
& && && && && & android:adjustViewBounds=&true&
& && && && && & android:gravity=&center&
& && && && && & android:src=&@drawable/logo_login& /&
& && && && &&ImageView
& && && && && & android:layout_width=&125.0dip&
& && && && && & android:layout_height=&35.0dip&
& && && && && & android:layout_marginTop=&10.0dip&
& && && && && & android:adjustViewBounds=&true&
& && && && && & android:gravity=&center&
& && && && && & android:src=&@drawable/qz_icon_logo_word_login& /&
& && &&&&/LinearLayout&
& && && && && & &!-- 小LOGO --&
& && &&&&LinearLayout
& && && && &android:id=&@id/login_logo_layout_h&
& && && && &android:layout_width=&fill_parent&
& && && && &android:layout_height=&wrap_content&
& && && && &android:layout_marginBottom=&11.0dip&
& && && && &android:layout_marginTop=&16.0dip&
& && && && &android:gravity=&left|center&
& && && && &android:orientation=&horizontal&
& && && && &android:visibility=&gone& &
& && && && &&ImageView
& && && && && & android:layout_width=&42.0dip&
& && && && && & android:layout_height=&42.0dip&
& && && && && & android:adjustViewBounds=&true&
& && && && && & android:gravity=&center&
& && && && && & android:src=&@drawable/logo_login& /&
& && && && &&ImageView
& && && && && & android:layout_width=&93.0dip&
& && && && && & android:layout_height=&30.0dip&
& && && && && & android:layout_marginLeft=&5.0dip&
& && && && && & android:adjustViewBounds=&true&
& && && && && & android:src=&@drawable/qz_icon_logo_word_login& /&
& && &&&&/LinearLayout&
& && &&&&FrameLayout
& && && && &android:layout_width=&fill_parent&
& && && && &android:layout_height=&45.0dip& &
& && && && &&EditText
& && && && && & android:id=&@id/qqId&
& && && && && & android:layout_width=&fill_parent&
& && && && && & android:layout_height=&fill_parent&
& && && && && & android:background=&@drawable/qz_bg_container_cell_top_normal&
& && && && && & android:hint=&QQ号/手机号/邮箱&
& && && && && & android:inputType=&textEmailAddress&
& && && && && & android:maxLength=&50&
& && && && && & android:paddingLeft=&15.0dip&
& && && && && & android:paddingRight=&80.0dip&
& && && && && & android:singleLine=&true&
& && && && && & android:text=&&
& && && && && & android:textColor=&#ff000000&
& && && && && & android:textColorHint=&#ffbbbbbb&
& && && && && & android:textSize=&16.0dip& /&
& && && && &&ImageView
& && && && && & android:id=&@id/uin_close&
& && && && && & android:layout_width=&30.0dip&
& && && && && & android:layout_height=&45.0dip&
& && && && && & android:layout_gravity=&right|center&
& && && && && & android:layout_marginRight=&40.0dip&
& && && && && & android:background=&@android:color/transparent&
& && && && && & android:clickable=&true&
& && && && && & android:scaleType=&center&
& && && && && & android:src=&@drawable/qz_icon_close&
& && && && && & android:visibility=&invisible& /&
& && && && &&ImageView
& && && && && & android:id=&@id/selectId&
& && && && && & android:layout_width=&40.0dip&
& && && && && & android:layout_height=&45.0dip&
& && && && && & android:layout_gravity=&right|center&
& && && && && & android:background=&@android:color/transparent&
& && && && && & android:clickable=&true&
& && && && && & android:paddingLeft=&5.0dip&
& && && && && & android:paddingRight=&15.0dip&
& && && && && & android:scaleType=&center&
& && && && && & android:src=&@drawable/qz_icon_navbar_drop_down& /&
& && &&&&/FrameLayout&
& && &&&&FrameLayout
& && && && &android:layout_width=&fill_parent&
& && && && &android:layout_height=&45.0dip& &
& && && && &&EditText
& && && && && & android:id=&@id/passWord&
& && && && && & android:layout_width=&fill_parent&
& && && && && & android:layout_height=&45.0dip&
& && && && && & android:background=&@drawable/qz_bg_container_cell_bottom_normal&
& && && && && & android:hint=&密码&
& && && && && & android:inputType=&textPassword&
& && && && && & android:maxLength=&16&
& && && && && & android:paddingLeft=&15.0dip&
& && && && && & android:paddingRight=&15.0dip&
& && && && && & android:singleLine=&true&
& && && && && & android:textColor=&#ff000000&
& && && && && & android:textColorHint=&#ffbbbbbb&
& && && && && & android:textSize=&16.0dip& /&
& && && && &&ImageView
& && && && && & android:id=&@id/psw_close&
& && && && && & android:layout_width=&30.0dip&
& && && && && & android:layout_height=&45.0dip&
& && && && && & android:layout_gravity=&right|center&
& && && && && & android:layout_marginRight=&15.0dip&
& && && && && & android:background=&@android:color/transparent&
& && && && && & android:clickable=&true&
& && && && && & android:scaleType=&center&
& && && && && & android:src=&@drawable/qz_icon_close&
& && && && && & android:visibility=&invisible& /&
& && &&&&/FrameLayout&
& && &&&&Button
& && && && &android:id=&@id/login_btn&
& && && && &android:layout_width=&fill_parent&
& && && && &android:layout_height=&45.0dip&
& && && && &android:layout_marginTop=&12.0dip&
& && && && &android:background=&@drawable/qz_selector_login&
& && && && &android:text=&登 录&
& && && && &android:textColor=&#ffffffff&
& && && && &android:textSize=&20.0dip& /&
& & &/LinearLayout&
& & &ImageButton
& && &&&android:id=&@id/lineimg&
& && &&&android:layout_width=&fill_parent&
& && &&&android:layout_height=&1.0px&
& && &&&android:layout_above=&@id/reg_and_forget_password_layout&
& && &&&android:background=&#ffcfcfcf& /&
& & &LinearLayout
& && &&&android:id=&@id/reg_and_forget_password_layout&
& && &&&android:layout_width=&fill_parent&
& && &&&android:layout_height=&49.0dip&
& && &&&android:layout_alignParentBottom=&true&
& && &&&android:layout_alignParentRight=&true&
& && &&&android:orientation=&horizontal& &
& && &&&&Button
& && && && &android:id=&@id/forget_password_tv&
& && && && &android:layout_width=&0.0dip&
& && && && &android:layout_height=&fill_parent&
& && && && &android:layout_weight=&1.0&
& && && && &android:autoLink=&all&
& && && && &android:background=&@drawable/qz_selector_gray&
& && && && &android:gravity=&center&
& && && && &android:text=&找回密码&
& && && && &android:textColor=&#ff666666&
& && && && &android:textSize=&14.0dip& /&
& && &&&&ImageButton
& && && && &android:layout_width=&1.0px&
& && && && &android:layout_height=&fill_parent&
& && && && &android:background=&#ffcfcfcf& /&
& && &&&&Button
& && && && &android:id=&@id/reg_tv&
& && && && &android:layout_width=&0.0dip&
& && && && &android:layout_height=&fill_parent&
& && && && &android:layout_weight=&1.0&
& && && && &android:autoLink=&all&
& && && && &android:background=&@drawable/qz_selector_gray&
& && && && &android:gravity=&center&
& && && && &android:text=&新注册&
& && && && &android:textColor=&#ff666666&
& && && && &android:textSize=&14.0dip& /&
& & &/LinearLayout&
&/com.jun.qqzomelogin.InputMethodRelativeLayout&
(2)、在Activity中实现OnSizeChangedListener,原理是设置该布局的paddingTop属性来控制子View的偏移。
package com.jun.
import android.app.A
import android.os.B
import android.view.V
import android.widget.LinearL
import com.jun.qqzomelogin.InputMethodRelativeLayout.OnSizeChangedL
* @author junjun
public class MainActivity extends Activity implements OnSizeChangedListenner{
& && &&&private InputMethodRelativeL&&
& & private LinearL
& & private LinearLayout login_logo_layout_
& & private LinearLayout login_logo_layout_
& && &&&@Override
& && &&&protected void onCreate(Bundle savedInstanceState) {
& && && && && & super.onCreate(savedInstanceState);
& && && && && & setContentView(R.layout.activity_main);
& && && && && & //取得InputMethodRelativeLayout组件
& && && && && & layout = (InputMethodRelativeLayout) this.findViewById(R.id.loginpage) ;
& && && && && & //设置监听事件
& && &&&layout.setOnSizeChangedListenner(this) ;
& && &&&//取得大LOGO布局
& && &&&login_logo_layout_v = (LinearLayout) this.findViewById(R.id.login_logo_layout_v) ;
& && &&&//取得小LOGO布局
& && &&&login_logo_layout_h = (LinearLayout) this.findViewById(R.id.login_logo_layout_h) ;
& && &&&//取得找回密码和新注册布局
& && &&&boot = (LinearLayout) this.findViewById(R.id.reg_and_forget_password_layout) ;
& && &&&/**
& && && &* 在Activity中实现OnSizeChangedListener,原理是设置该布局的paddingTop属性来控制子View的偏移
& && && &*/
& && &&&@Override
& && &&&public void onSizeChange(boolean flag,int w ,int h) {&&
& && &&&if(flag){//键盘弹出时
& && && && &layout.setPadding(0, -10, 0, 0);& &
& && && && &boot.setVisibility(View.GONE) ;
& && && && &login_logo_layout_v.setVisibility(View.GONE) ;
& && && && &login_logo_layout_h.setVisibility(View.VISIBLE) ;
& && &&&}else{ //键盘隐藏时
& && && && &layout.setPadding(0, 0, 0, 0);&
& && && && &boot.setVisibility(View.VISIBLE) ;
& && && && &login_logo_layout_v.setVisibility(View.VISIBLE) ;
& && && && &login_logo_layout_h.setVisibility(View.GONE) ;
注意:在AndroidManifest.xml中注册该Activity,需要注意的是:必须为该Activity设置android:windowSoftInputMode=&adjustResize&属性,当windowSoftInputMode为adjustResiz时,Layout才会调用protected
void onSizeChanged(int w, int h, int oldw, int oldh)这个方法,而且不能是全屏。好了就到这里,希望对你有帮助
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5673次
排名:千里之外
原创:13篇
转载:29篇
(4)(4)(1)(3)(2)(2)(2)(2)(22)}

我要回帖

更多关于 android开源组件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信