精华内容
下载资源
问答
  • C# 失去焦点自动隐藏界面

    千次阅读 2012-02-17 21:43:44
    this.Deactivate += new EventHandler(Form1_Deactivate);  void Form1_Deactivate(object sender, EventArgs e)  {  this.Visible = false;...这样可以保证当不点击界面时也同样起作用
     
    this.Deactivate += new EventHandler(Form1_Deactivate);
     void Form1_Deactivate(object sender, EventArgs e)
            {
                this.Visible = false;
            }


    当显示时需要加入

    this.Activate();

    这样可以保证当不点击界面时也同样起作用

    展开全文
  • 最近项目需要用到爬虫,使用的Jsoup,但是对应的数据是根据查询得到的,JAVA中如何触发获取呢。
  • 隐藏内容+触发指示

    2012-06-19 22:12:59
    通过合理的指示元素引导用户发现隐藏内容 标签(Tab)、下拉菜单、手风琴风格的折叠控件...渐进呈现(progressive ...因此,把界面元素隐藏起来还不算完,我们必须通过一些恰当的方式向用户进行提示,让他们

    通过合理的指示元素引导用户发现隐藏内容

    标签(Tab)、下拉菜单、手风琴风格的折叠控件...渐进呈现(progressive disclosure)的交互方式可以有效的帮助我们降低界面的视觉复杂度,同时尽可能多的向用户展示内容。

    不过凡事有利亦有弊,在视觉上不可见的东西确实很有可能被用户所忽略掉。因此,把界面元素隐藏起来还不算完,我们必须通过一些恰当的方式向用户进行提示,让他们意识到隐藏元素的存在

    用户的预期

    这里所说的预期,是指用户对自己能否在站点中找到隐藏元素所做出的假设和预判。如果用户认为某些内容一定是藏在什么地方的,他们就会主动的进行寻找;反之,他们也有可能受到一些因素的影响,过早的认定那些内容根本不存在。

    在购物网站中,多数用户认为自己能够并且应该获取到商品详情、退换政策、运费等方面的信息。在这种预期的作用下,即使那些内容并没有直截了当的呈现出来,他们也会主动寻找。

    另一方面,诸如用户点评、额外的商品图片集、视频演示等附加内容并非是所有购物网站的标配,如果它们在默认状态下是不可见的,那么对于那些不熟悉该站点的用户来说,通常不会花费太多时间进行寻找,因为在他们的预期中,这些内容可能就是不存在的。

    用户的预期取决于他们长久以来的认知和行为习惯。作为设计师,如果不能确保用户会从主观上积极主动的寻找隐藏元素,我们就要借助可视化的触发指示,引导他们获取更多的内容。

    触发指示

    任何一种对隐藏内容的存在起到提示作用的界面元素都可以被称为触发指示。它们大致分为五类:

    1.方向与空间

    具有指向性的界面元素通常可以用于对隐藏内容的指示。方向指示(directional indicator)的视觉表现形式能够很准确的描绘出虚拟空间当中位置及移动的概念,符合用户直觉。

    ui-Hidden-Elements-trigger-indicators-2-itunes-disclosure-arrows

    此外,方向指示本身通常会以图标的形式存在,这也使得后面的文字标题在用户看来具有更强的可点击性,进一步增强了隐藏内容被发现的可能性。

    ui-Hidden-Elements-trigger-indicators-3-fox-menu.png

    在Fox的主导航当中,前两个菜单项会各自触发一个“大数据量菜单”的展开(mega menu,赶上这种已然约定俗成的词儿我是真心不想翻成中文——译者C7210注),其中作为触发指示的正是标题文字后面的下三角图标。这类元素从视觉上来看是很微小的,但它们对于用户能否正确领会页面的交互方式却是至关重要的。

    空间指示(spatial indicators)与方向指示具有比较密切的相关性。在这种模式中,通常会有一个“高亮”的界面元素向用户提示当前所处的位置或是已做过的选择,而其他那些处于普通状态的同级别导航元素则暗示着当前区域当中有更多内容可以被发现。

    ui-Hidden-Elements-trigger-indicators-4-spatial-indicators

    分页控件是一个比较典型的例子,这种模式可以很直白的让用户知道自己看过多少内容、现在正处于怎样的位置、接下来还有多少东西可看。另外,导航菜单中的“当前”状态标识,以及浏览器的滚动条等等,从本质上讲都属于空间指示。

    2.隐喻

    隐喻是一种非常有效的引导方式。例如,将用户界面设计成为书籍或杂志的样式,在交互方式上也模拟真实的物理效果。通过这种高度隐喻化的表现形式来承载在线内容,可以让用户会很自然的去浏览那些在当前可视区域“后面”的东西,就像在现实中看书那样。

    ui-Hidden-Elements-trigger-indicators-5-metaphor

    隐喻的方式确实非常符合用户的直觉及预期;作为设计师,我们必须确保拟真界面的外观和交互方式能够准确的体现出真实物体的视觉及物理特性。不过,由于技术等客观条件所限,真实物体的行为规律未必能够被准确的还原到网页当中,我们需要在选择设计方案的时候对这方面的问题加以考虑。

    3.图标

    图标可以使触发指示元素在整个页面当中以相对凸显的方式呈现出来,例如Macy在“Reviews”标签中所使用的星级图标。

    ui-Hidden-Elements-trigger-indicators-6-macys

    图标一类的视觉元素可以使平淡枯燥的文字内容具有更强的可辨识性,进而引导用户发现附近的隐藏元素。不过这类做法也具有一定的风险,有时它们吸引到的注意力太多了,以至于使用户忽略掉了其他的重要信息。

    4.渐变褪色

    我们还可以通过改变内容自身外观的方式来指示更多的隐藏内容,而不必使用图标一类的可视化界面元素作为触发指示。其中最典型的方法就是为内容文字设置渐变褪色效果,Amazon的商品描述页面当中就使用了这种方式。

    ui-Hidden-Elements-trigger-indicators-7-gradient-hide-amazon

    逐渐褪色的文字可以很有效的吸引用户的注意力,并促使他们探索更多内容。配合可视化的触发指示元素,例如“ Show More”文字链接及相关的图标,这种引导效果就会进一步的增强。

    5.短暂呈现

    所谓短暂呈现,是指我们可以策略性的让内容在一个时间段内保持可见。例如,在购物网站的商品详情页面中,当页面完成加载后,完整的商品描述内容可以在短时间内保持呈现状态,然后通过动画方式收起,并在内容最终消失的位置提供一个可视的触发指示元素,这样用户就很清楚有哪些内容被隐藏了起来,当他们需要获取相关信息的时候,可以到哪里去找到这些内容。当然,这种模式的实现当中有一个重要的前提,那就是用户必须注意到了内容消失的过程及相应的动画效果。

    关于短暂呈现,另外一个典型的例子就是轮播。在这种模式中,多项内容会依次呈现一段时间;这样不仅能够让用户了解到更多内容的存在,更重要的是,它们会“主动”的显现出来,用户无需执行任何交互操作就可以获取到完整的信息。

    ui-Hidden-Elements-trigger-indicators-8-dell-carousel

    最佳实践

    我们对五类触发指示进行了大致的了解。光是这样还欠点儿火候,更重要的是,我们必须知道在实际工作中以怎样的方式、怎样的程度来使用这些触发指示,因为这类元素或多或少会为界面整体带来一定的视觉噪音,搞不好会使整个界面变得相当凌乱,不仅不能有效的起到提示作用,反而会影响用户对于其他内容和功能的浏览使用。我建议大家在实践中首先对以下四个方面的问题进行考虑

    1. 确定隐藏内容的重要程度,判断它们对于转化率的提升能够起到多大的作用,它们是否只是对于某种特定类型的用户才有意义。
    2. 确定这些内容被浏览的频率,通过统计工具查看能够浏览到这些内容的用户所占的百分比。
    3. 判断用户对于隐藏内容的预期,通过用研来了解用户在特定的界面当中最希望获取哪些方面的信息。
    4. 汇总前三个方面的分析结果,判断是否有必要使用“隐藏内容+触发指示”的模式。如果确实需要,那么指示元素采用怎样的视觉表现形式更加得当;会吸引更多注意力的轮播动画?还是视觉效果相对较弱的渐变褪色?

    如果你确定隐藏内容确实非常重要(1),但当前的浏览量很低(2),而且用户的预期当中并没有包含这些内容(3),那么你就应该考虑对触发指示元素进行调整了,看看能否让它们吸引到用户更多的注意力;抑或是这些内容根本就不应该隐藏起来。

    展开全文
  • 最近遇到部分H5界面部分不能点击及有些展示出来的H5界面不全,通过客服反馈过来的问题,大部分都是android4.0以上,android6.0以下的系统出的问题,而6.0以上的手机都正常,这是因为前端H5部分代码不支持手机低版本...

    最近遇到部分H5界面部分不能点击及有些展示出来的H5界面不全,通过客服反馈过来的问题,大部分都是android4.0以上,android6.0以下的系统出的问题,而6.0以上的手机都正常,这是因为前端H5部分代码不支持手机低版本,那么App端就应该想办法去解决这个问题。

    网上说这个原因是:没有启动webview的html5的本地存储功能(不使用HTML5 DOM存储,不会主动加载到Android WebView中)

    解决办法:

    App端需要在WebView中添加对H5的支持,添加下面一行代码

    webView.getSettings().setDomStorageEnabled(true);

    这样低版本系统手机就可以正常点击和显示了。

     

    https://blog.csdn.net/carson_ho/article/details/52693322  最全面的 Webview 详解

     

    清除cookie和缓存的设置:

    //清空所有Cookie
    CookieSyncManager.createInstance(getContext());  //Create a singleton CookieSyncManager within a context
    CookieManager cookieManager = CookieManager.getInstance(); // the singleton CookieManager instance
    cookieManager.removeAllCookie();// Removes all cookies.
    cookieManager.removeSessionCookie();//移除
    CookieSyncManager.getInstance().sync(); // forces sync manager to sync now
    //清除网页访问留下的缓存
    //由于内核缓存是全局的因此这个方法不仅仅针对webview而是针对整个应用程序.
    webView.clearCache(true);
    //这个api仅仅清除自动完成填充的表单数据,并不会清除WebView存储到本地的数据
    webView.clearFormData();
    //清除当前webview访问的历史记录
    //只会webview访问历史记录里的所有记录除了当前访问记录
    webView.clearHistory();
    

    对webview的其他设置:

    private void initwebView() {
        /**设置可以访问文件*/
        webView.getSettings().setAllowFileAccess(true);
        /**如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript*/
        webView.getSettings().setJavaScriptEnabled(true);
    
        /**设置适应Html5的一些方法*/
        webView.getSettings().setDomStorageEnabled(true);
        /**控制大小--设置缓存最大容量,默认为Max Integer*/
        webView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);// 实现8倍缓存
        /**支持通过JS打开新窗口*/
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        /**H5缓存*/
        webView.getSettings().setAppCacheEnabled(true);
        String appCachePath = getApplication().getCacheDir().getAbsolutePath();
        webView.getSettings().setAppCachePath(appCachePath);
        webView.getSettings().setDatabaseEnabled(true);
        /**缩放操作*/
        webView.setInitialScale(150);// 初始显示比例100%
        webView.getSettings().setSupportZoom(true);//支持缩放,默认为true。是下面那个的前提
        webView.getSettings().setBuiltInZoomControls(true);//设置内置的缩放控件。若为false,则该WebView不可缩放
        /**设置自适应屏幕,两者合用*/
        webView.getSettings().setUseWideViewPort(true);//将图片调整到适合webview的大小--关键点
        webView.getSettings().setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {
            webView.getSettings().setPluginState(WebSettings.PluginState.ON);
        } else {
            // IMPORTANT!! this method is no longer available since Android 4.3
            // so the code doesn't compile anymore
            // webView.getSettings().setPluginsEnabled(true);
        }
        if (Build.VERSION.SDK_INT >= 11) {
            /**缩放操作*/
            webView.getSettings().setDisplayZoomControls(false);//隐藏原生的缩放控件
        }
        /**
         * 启用mixed content    android 5.0以上默认不支持Mixed Content
         *
         * 5.0以上允许加载http和https混合的页面(5.0以下默认允许,5.0+默认禁止)
         * */
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        }
    
        webView.setWebViewClient(new CustomWebViewClient());
    
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onShowCustomView(View arg0, CustomViewCallback arg1) {
                super.onShowCustomView(arg0, arg1);
            }
    
            @Override
            public void onShowCustomView(View arg0, int arg1,
                                         CustomViewCallback arg2) {
                super.onShowCustomView(arg0, arg1, arg2);
            }
    
            @Override
            public void onProgressChanged(WebView view, int progress) {
    
            }
    
            @Override
            public void onReceivedTitle(WebView view, String title) {
            }
    
            @Override
            public void onReceivedIcon(WebView view, Bitmap icon) {
            }
    
            // For Android 3.0+
            public void openFileChooser(ValueCallback<Uri> uploadMsg) {
                openFileChooserImpl(uploadMsg);
            }
    
            // For Android 3.0+
            public void openFileChooser(ValueCallback uploadMsg,
                                        String acceptType) {
                openFileChooserImpl(uploadMsg);
            }
    
            // For Android 4.1
            public void openFileChooser(ValueCallback<Uri> uploadMsg,
                                        String acceptType, String capture) {
                openFileChooserImpl(uploadMsg);
            }
    
            @Override
            public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
                openFileChooserImplForAndroid5(filePathCallback);
                return true;
            }
    
        });
    
        webView.requestFocus();
    }
    
    展开全文
  • IOS_点击界面空白处隐藏键盘IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,用户体验不好,我们可以实现点击键盘以外的空白区域来将键盘...

    IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,用户体验不好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下是结合隐藏键盘的几种方法:

    第一,两种可以让键盘隐藏的方法:
    1.[view endEditing:YES] , 这个方法可以让当前View取消第一相应者,从而让View上的所有控件的键盘消失;
    2.[textField resignFirstResponder],这个是比较常用的隐藏键盘的方法,即取消当前textField的第一响应者.

    第二,下面是几种实现方式:
    1.使用View的触摸事件 - (void)touchedBegan:(NSSet *)touched withEvent:(UIEvent *)event;实现对键盘的隐藏,当点击View的区域就会触发该事件:

    - (void)touchedBegan:(NSSet *)touched withEvent:(UIEvent *)event
    - {
        - [textField residnFirstResponder];
    - } 

    2.对当前View添加触摸手势来实现键盘的隐藏:

    - (void)viewDidLoad
    - {
        - [super viewDidLoad];
        - UITapGestureRecognizer *tapGesture = [UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapToHideKeyboard:)];
    - }
    
    - (void)tapToHideKeyboard:(UITapGestureRecognizer *)tap
    - {
        - [textField resignFirstResponder];
    - }

    第三,修改xib中UIView的Custom class为UIControl,UIControl是一些常用控件如UIButton的父类,是UIView的派生类,实现了对触摸和下按的封装。
    1、首先设置xib中得UIView的Custom class为UIControl

    这里写图片描述

    2、设置关系事件,将xib中得UIView拖到.h区中

    Enent为Touch Up Inside

    3、编写View的点击事件

    - (IBAction)touchView:(id)sender
    - {
        - [self.view endEditing:YES];
    - }

    总结:以上即为三种常用的隐藏键盘的方式供大家参考!

    展开全文
  • C#代码中给每个物体绑定了名字,我把代码中的名字传入了Unity中的text,现在我吧鼠标移动到物体上text中的名字显示了,现在我吧鼠标移到另一个物体上text中的名字切换,怎么让鼠标离开物体text中的名字隐藏
  • 按手机返回键,可以返回当前APP的上一个Activity也可以隐藏任务到后台而不回退到上一个Activity 在需要的任意一个activity中重写onKeyDown方法即可 @Override public boolean onKeyDown(int keyCode, KeyEvent ...
  • 用html和js做一个登录/注册界面,不连接数据库,这个案例用到了js的引入,form表单结合表格的布局,以及登录界面常用的密码的隐藏与实现的方法。 进入正题,先看我们的成型案例:如下图 案例大概就是这个样子,讲...
  • pyqt5美化界面

    万次阅读 多人点赞 2019-03-12 21:14:50
    qt做界面很方便,但是一般做出来都不是很好看,需要去美化。 这是效果图 是一个做语音识别的小界面。虽然是一个小界面,但是通过这个小界面的美化方法,能够了解类推制作其他的精美界面。 第一步 制作初始界面 ...
  • 为了防止因为非故意触发手机造成的一定的困扰。 二级锁屏界面是在解锁一级界面后进入的一个界面,算是用于一定的加密,相当于给手机多了一层保护,所以二级界面通常称之为安 全界面-----KeyguardSe
  • Labview--主界面和子界面的自由切换

    千次阅读 2020-12-06 19:08:38
    (在这里我们把按键作为触发界面到子界面的条件) 第一个:在程序框图界面–>应用程序控制–>vi服务器引用。找到这个控件就能对本vi进行控制。 第二个:在程序框图界面–>应用程序控制–>属性节点 ...
  • Java图形界面编程

    万次阅读 多人点赞 2019-02-23 22:23:45
    一、Java图形用户界面(gui)介绍 1、Java GUI简介   图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。   Sun已经提供了一个跨平台GUI开发工具包AWT...
  • 弹出隐藏的HTML表单

    万次阅读 2018-02-23 22:02:49
    弹出表单的基本原理是,在页面上已经存在一个表单,并通过CSS将其隐藏,当用户点击某个按钮或链接,或满足一定触发条件时,再利用 Javascript 或 jQuery 将表单动态显示出来。当然,不局限于表单,页面...
  • 至此基本实现了当点击下拉列表框中任意一个选项时,会触发(联动)该选项需要查看的内容,隐藏其他内容,但还有一个待解决的问题,第一次点击初始界面的复选框中默认的子选项时,不会出现该子选项相应的内容,但是先...
  • QT界面编辑

    千次阅读 2019-05-22 15:22:03
    QT界面编辑 ** QT建立游戏登录界面 1、新建一个界面(app)工程 点击 “欢迎” 选项,点击 “New Project” 弹出新建项目界面,在项目中选择 Application -> QT Widgets Application 选项,再点击 choose ,在弹...
  • Qt实践录:一些界面设计的记录示例

    千次阅读 2020-02-03 16:15:32
    有些场合,需要隐藏界面某些功能,面向特定人员使用,如一些维护升级工具,面向现场支持人员和面向开发人员,所用之功能不同,但又不想同时维护多个工具,则可以隐藏部分功能。 本节演示双击某个提示语(使用 QLabel...
  • #问题 ...当点击过Button修改数量,再按下空格隐藏面板后,最后点击的Button就会被空格键触发一次。 如下图 #解决 这是由于Button中Navigation(导航)功能导致的。 将导航设置为None即可。 ...
  • QT·页面跳转,怎么切换到另一个界面

    千次阅读 多人点赞 2020-05-08 14:19:17
    作业:怎么实现父界面隐藏,子界面显示 思路:当点击一个按钮之后(涉及点击事件,利用槽函数触发),把父界面关闭(执行函数里面的一个方法this->close();//关闭当前界面),显示子界面(XXX->show();),当...
  •   在按下特定的按键序列之后,启动某一个隐藏功能,或者是快捷启动某个东西。  那么我们如何实现这个触发过程呢?  我们通过需求分析,来定义一个接口。接口要定义哪些方法呢?  首先,
  • 横屏界面很多应用都会根据设备的横竖屏状态,呈现不同的界面。我们为计算器也设置一个适合横屏的布局。
  • 如何在播放器上加一个云台控制界面问题:对于实时直播的视频播放, 由于播放页面客观样式要求(一个播放器占据了整个页面),因此很难找出很合理的空间来放置其他功能按钮的位置(比如配合实时是平的云台控制界面)...
  •  ...RepositoryItemButtonEdit 触发ButtonClick事件时,执行如下代码来触发CustomRowCellEdit事件,从而刷新界面隐藏按钮 gvFile.RefreshRow(gvFile.FocusedRowHandle); gvFile.CloseEditor();
  • PyQT5作为一个界面库,使用起来确实很方便,它是类似于基于对象的编程方法,通过创建对象,控制对象属性,绑定事件等完成一个完整的界面设计 我们已经看过他的设计器,再次介绍一下: 左侧的控件时现成的,可以...
  • Android手动显示和隐藏软键盘方法总结

    万次阅读 多人点赞 2015-07-02 00:14:31
    本文介绍Android中如何通过代码来显示和隐藏软键盘
  • Unity编辑器扩展-基本界面编写

    千次阅读 2016-10-31 23:40:00
    比如我们写了个脚本,但是有一些函数需要调用触发,测试的时候又不方便,一种方法是重写MonoBehaviour类的OnGUI方法,但是这种方法也比较笨,要写好多代码,除非真机调试的时候,没有办法才这样做,我们可以通过一种...
  • Android界面性能分析及优化

    千次阅读 2016-09-19 14:04:59
    性能问题分析主要包括三个方面 1.界面渲染 2.内存与GC 3.电量优化 界面渲染 大多数用户感知到的卡顿等性能问题的最主要...Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染, 如果每次渲染都成功,这样就能够达到
  • iOS 使用UITextField隐藏键盘

    万次阅读 2014-09-07 22:21:36
    1、点击键盘return,触发代码隐藏
  • 做数据库实验的时候,遇到了这个问题,用的netbeans拖拉形成的窗口,在主界面打开一个子窗口后,关闭子窗口后,主界面仍在,这个涉及到JFrame的 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame...
  • Android 好看的搜索界面,大赞Animation

    千次阅读 热门讨论 2015-08-19 16:02:10
    转载请注明出处王亟亟的大牛之路一直对Animation属于可有可无的不在意,看到个例子,觉得在不切换的情况下,适当的应用还真是蛮好看的。 包结构: 一个类一个控件,内容简单。运行效果: ...
  • 仿腾讯QQ界面

    千次阅读 2012-06-15 22:06:15
    今天,想和大家聊一下有关软件的界面的一些知识,当一个软件程序被设计出来时,首先展现的就是界面效果,平时见过很多软件,早些很多商用的软件为了追求软件运行性能的出色,并没有把软件界面设计的美轮美奂,相反...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,805
精华内容 20,322
关键字:

如何触发隐藏界面