首页
学习
活动
专区
圈层
工具
发布

actionbar完全解析(一)

添加Action按钮 ActionBar还可以根据应用程序当前的功能来提供与其相关的Action按钮,这些按钮都会以图标或文字的形式直接显示在ActionBar上。...这里我们注意到,显示在ActionBar上的按钮都只有一个图标而已,我们在title中指定的文字并没有显示出来。...当然这是一个内部变量,我们无法直接访问它,但是可以通过反射的方式修改它的值,让它永远为false就可以了,代码如下所示: @Override protected void onCreate(Bundle...让Overflow中的选项显示图标 如果你点击一下overflow按钮去查看隐藏的Action按钮,你会发现这部分Action按钮都是只显示文字不显示图标的,如下图所示: ?...true,那么里面的每一个Action按钮对应的图标就都会显示出来了。

1.5K100

Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

添加Action按钮 ActionBar还可以根据应用程序当前的功能来提供与其相关的Action按钮,这些按钮都会以图标或文字的形式直接显示在ActionBar上。...这里我们注意到,显示在ActionBar上的按钮都只有一个图标而已,我们在title中指定的文字并没有显示出来。...当然这是一个内部变量,我们无法直接访问它,但是可以通过反射的方式修改它的值,让它永远为false就可以了,代码如下所示: @Override protected void onCreate(Bundle...让Overflow中的选项显示图标 如果你点击一下overflow按钮去查看隐藏的Action按钮,你会发现这部分Action按钮都是只显示文字不显示图标的,如下图所示: ?...true,那么里面的每一个Action按钮对应的图标就都会显示出来了。

4.2K101
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    IOS开发系列——UIView专题之一:UIWindow篇

    问题描述1:当view发生一些事件的时候,通知控制器,但是控制器已经销毁了,所以可能出现未知的错误。 问题描述2:添加一个开关按钮,让屏幕360度旋转(两者的效果不一样)。...3.在有storyboard的项目中,UIWindow是如何创建的? 为什么创建一个storyboard,没有看到创建uiwindow的过程? 它其实是把创建UIWindow的过程给屏蔽起来了。...因为Window有makekeyandvisible这个方法,可以让这个Window凭空的显示出来,而其他的view没有这个方法,所以它只能依赖于Window,Window显示出来后,view才依附在Window...self.window.backgroundColor = [UIColor redColor]; //让UIWindow显示出来(让窗口成为主窗口并且显示出来) //一个应用程序只能有一个主窗口 [...在该方法中,会创建一个Window,然后创建一个控制器,并把该控制器设置为UIWindow的根控制器,接下来再将window显示出来,即看到了运行后显示的界面

    1.5K30

    Python应用开发——30天学习Streamlit Python包进行APP的构建(4)

    app') #设置一个侧边栏的抬头 st.sidebar.header('Input') #添加一个选择框 selected_type = st.sidebar.selectbox('Select an...by the Bored API.') with c2: with st.expander('JSON data'): st.write(suggested_activity) 然后我们会像下面这样将建议的活动显示出来...icon,也就是一个符号 在警报旁边显示的可选表情符号或图标。...v=vIQQR_yq-8I") # 初始化代码编辑器和图表的默认数据 # # 在这篇教程中,我们会用到 Nivo Bump 图的数据 # 你能在“data”标签页下获取随机的数据:https://nivo.rocks...,代码编辑器 # # 我们使用 'key' 参数来选择正确的仪表盘对象 # # 为了让卡片的内容自动填充占满全部高度,我们将使用 flexbox

    1.6K10

    通过编写扫雷游戏提高你的 Bash 技巧

    这将是地雷在雷区里的位置。控制地雷的数量,在开始编写代码之前,这么做会容易一些。实现这一功能的逻辑可以更好,但我这么做,是为了让游戏实现保持简洁,并有改进空间。...我添加了一些辅助函数,你能在源码中看到它的完整实现。 对每一格来说,我们需要一些让它看起来像地雷的东西,所以我们先用一个点(.)来初始化空格。...在最开始,我们需要游戏有一个固定的状态。你可以随便选择个初始值,可以是一个数字或者任意字符。我最后决定,所有单元格的初始值为一个点(.),因为我觉得,这样会让游戏界面更好看。...请注意下面代码中的 X,它是我们唯一的游戏结束标志。我们将它添加到随机列表中。在 shuf 命令的魔力下,X 可以在任意情况下出现,但如果你足够幸运的话,也可能一直不会出现。...将 m 中的每一个值和 index 加起来,直到列表结尾 is_free_field $index $field done 我想要游戏界面中,所有随机显示出来的单元格,都靠近玩家选择的单元格

    1.7K20

    程序隐藏到任务栏的实现

    我们在使用软件的时候,有的软件允许最小化到任务栏,然后双击任务栏的图标时又会显示出来,这篇文章主要说明如何实现这种功能; 实现这种功能主要分为两步,一是将程序窗口隐藏,二是将程序图标添加到任务栏,再次显示也是分为两步...:第一步是将任务栏上的图标删除,第二步是将窗口显示出来。...3个主要是向任务栏添加图标、删除图标、修改图标; 第二个参数是一个结构体该结构体的定义如下: typedef struct _NOTIFYICONDATA { DWORD cbSize;//该结构的大小..., *PNOTIFYICONDATA; UINT uID 参数是应用程序的ID,这个ID并不是必须的可以任意给值 UINT uFlags 参数是一个标志,主要用于控制图标的行为: NIF_ICON...函数介绍完了,接下来就是实现的代码: //这里是将移出图标与添加图标放到一个函数中,根据第二个参数判断是需要移出或是添加 BOOL TrackIcon(HWND hWnd, BOOL bTrak) {

    1.3K10

    Android Fragment应用实战,使用碎片向ActivityGroup说再见

    ActivityGroup原本主要是用于为每一个TabHost的子项管理一个单独的Activity,但目前已经被废弃了。为什么呢?当然就是因为Fragment的出现了!...第一个部分就是FrameLayout,这里只是给FrameLayout的id设置成content,并没有在里面添加任何具体的内容,因为具体的内容是要在后面动态进行添加的。...参数来设置选中的tab页。...接下来根据传入的index参数判断出选中的是哪一个Tab项,并改变该Tab项的图标和文字颜色,然后将相应的Fragment添加到界面上。...这里注意一个细节,我们添加Fragment的时候并没有使用replace()方法,而是会先判断一下该Fragment是否为空,如果是空的则调用add()方法添加一个进来,如果不是空的则直接调用show(

    1.3K100

    关于activitygroup过时,用frament替换操作

    ActivityGroup原本主要是用于为每一个TabHost的子项管理一个单独的Activity,但目前已经被废弃了。为什么呢?当然就是因为Fragment的出现了!...第一个部分就是FrameLayout,这里只是给FrameLayout的id设置成content,并没有在里面添加任何具体的内容,因为具体的内容是要在后面动态进行添加的。...参数来设置选中的tab页。      ...接下来根据传入的index参数判断出选中的是哪一个Tab项,并改变该Tab项的图标和文字颜色,然后将相应的Fragment添加到界面上。...这里注意一个细节,我们添加Fragment的时候并没有使用replace()方法,而是会先判断一下该Fragment是否为空,如果是空的则调用add()方法添加一个进来,如果不是空的则直接调用show(

    3.6K70

    Android Fragment应用实战

    ActivityGroup原本主要是用于为每一个TabHost的子项管理一个单独的Activity,但目前已经被废弃了。为什么呢?当然就是因为Fragment的出现了!...第一个部分就是FrameLayout,这里只是给FrameLayout的id设置成content,并没有在里面添加任何具体的内容,因为具体的内容是要在后面动态进行添加的。...参数来设置选中的tab页。      ...接下来根据传入的index参数判断出选中的是哪一个Tab项,并改变该Tab项的图标和文字颜色,然后将相应的Fragment添加到界面上。...这里注意一个细节,我们添加Fragment的时候并没有使用replace()方法,而是会先判断一下该Fragment是否为空,如果是空的则调用add()方法添加一个进来,如果不是空的则直接调用show(

    1.5K100

    定制第三方UI以Element UI为例

    UI,我们在开发中使用这些UI插件可以很快速的实现一些美观的UI,非常的爽,当我正在愉快的开发时 ,忽然发现 美工小姐姐给的样式是和UI插件提供的样式是不一样的…,我一下子就不开心了,这是让我加班啊!...prefix-icon=“el-icon-user” 其中 el-icon-user是一个字符串,是不是有些好奇,为什么传进去的是一个字符串却显示的是图标,而且我们如果输入 本地图标地址是不行的 例如...: prefix-icon="/static/user.png" 是显示不出来的 为什么呢?...在Google 浏览器下 按F12查看 网页元素内容 ,发现 我们传进去的 字符串 实际变成了 “\E6E3” 这就是为什么可以显示出来图标的原因了,知道了这些后,我们向自己定制显示的图标就容易多了,我们只需要利用穿透进行样式修改...到此添加本地图标的任务就完成了,其他UI的修改也是这样的方法来修改。这样就可以自定义我们自己的 第三方UI了,即美观、有符合要求! 白嫖不好,创作不易,各位的点赞就是我创作的最大动力 !

    80120

    Material Design 实战 之第二弹——滑动菜单详解&实战

    ()方法得到了ActionBar的实例; 1.2.3 调用ActionBar的setDisplayHomeAsUpEnabled()方法让导航按钮显示出来; 1.2.4...——调用DrawerLayout的openDrawer()方法将滑动菜单展示出来; 注意openDrawer()方法要求传入一个Gravity参数,为了保证这里的行为和XML...最左侧的这个按钮就叫作HomeAsUp按钮,它默认的图标是一个返回的箭头,含义是返回上一个活动;这里将其换了图标,并将逻辑响应修改了; HomeAsUp按钮的id永远都是android.R.id.home...接着调用ActionBar的setDisplayHomeAsUpEnabled()方法让导航按钮显示出来, 又调用了setHomeAsUpIndicator()方法来设置一个导航按钮图标。...实际上,Toolbar最左侧的这个按钮就叫作HomeAsUp按钮,它默认的图标是一个返回的箭头,含义是返回上一个活动。

    1.4K30

    SDL系列讲解(九) 异常退出分析

    SDL系列讲解(一) 简介 SDL系列讲解(二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...添加Log 我们打开Android Studio ,连接上手机,这时我们点击界面下方的Android Mintor ,此处会显示出来你的手机,同时输出信息,我们开到右侧有个选项单,默认是Verbose...("lxm SDL main enter"); 然后我们运行,同时在Android Monitor,在搜索框中输入lxm,进行过滤,我们可以看到我们添加的log信息。...,让输出所有信息,同时将中间的类别,选择为Error,我们运行应用,发现退出,看到输出信息: 我们这里关注 Addr2Line 使用 我们点击电脑左下方的Window图标,选择运行......直接显示出来出错类型,出错文件和行数,这里为 我们看到这里,text是个空指针,我们使用它的方法,引起异常。

    1.2K60

    如何实现无公网ip环境使用vscode远程ssh内网Linux系统写代码

    1、安装OpenSSH 打开Windows开始页面,直接进行搜索PowerShell,打开第一个Windows PowerShell,点击以管理员身份运行 打开之后,输入以下指令: Get-WindowsCapability...局域网测试连接远程服务器 以ssh连接ubuntu为例,打开vscode后,先尝试使用局域网地址ssh远程ubuntu 输入命令到对话框中,并回车 ssh username@ip 选择一个配置文件 输入完成在右侧会显示出来刚刚添加的...点击SSH TARGETS下面显示的服务器旁边的按钮进行连接操作 如左侧没有出现添加的连接,点如下按钮刷新 接着点击小箭头 --> 连接,出现选择ssh 类型,选择linux 输入参数,和密码即可远程成功...配置固定TCP端口地址 由于以上所创建的隧道选择的是随机临时TCP端口,所生成的公网地址会在24小时内随机变化,对于需要长期远程的用户来讲不方便。...5.3 测试固定公网地址远程 打开vscode,选择添加一个ssh连接 使用保留的tcp地址连接 刷新一下 刷新出来地址,点击右边小箭头”–>”连接,出现以下提示,输入yes 出现绿色信息,表示连接成功

    1.1K10

    Windows系统安装OpenSSH结合VS Code远程ssh连接Ubuntu【内网穿透】

    1、安装OpenSSH 打开Windows开始页面,直接进行搜索PowerShell,打开第一个Windows PowerShell,点击以管理员身份运行 打开之后,输入以下指令: Get-WindowsCapability...局域网测试连接远程服务器 以ssh连接ubuntu为例,打开vscode后,先尝试使用局域网地址ssh远程ubuntu 输入命令到对话框中,并回车 ssh username@ip 选择一个配置文件 输入完成在右侧会显示出来刚刚添加的...点击SSH TARGETS下面显示的服务器旁边的按钮进行连接操作 如左侧没有出现添加的连接,点如下按钮刷新 接着点击小箭头 --> 连接,出现选择ssh 类型,选择linux 输入参数,和密码即可远程成功...配置固定TCP端口地址 由于以上所创建的隧道选择的是随机临时TCP端口,所生成的公网地址会在24小时内随机变化,对于需要长期远程的用户来讲不方便。...5.3 测试固定公网地址远程 打开vscode,选择添加一个ssh连接 使用保留的tcp地址连接 刷新一下 刷新出来地址,点击右边小箭头”–>”连接,出现以下提示,输入yes 出现绿色信息,表示连接成功

    1.6K10

    VS Code安装配置ssh服务结合内网穿透远程连接本地服务器详细步骤

    安装OpenSSH 打开Windows开始页面,直接进行搜索PowerShell,打开第一个Windows PowerShell,点击以管理员身份运行 打开之后,输入以下指令: Get-WindowsCapability...输入完成在右侧会显示出来刚刚添加的ssh 连接,点击 -->图标 连接,出现输入密码,输入密码即可 出现绿色标志表示连接成功 4....点击SSH TARGETS下面显示的服务器旁边的按钮进行连接操作 如左侧没有出现添加的连接,点如下按钮刷新 接着点击小箭头 --> 连接,出现选择ssh 类型,选择linux 输入参数,和密码即可远程成功...配置固定TCP端口地址 由于以上所创建的隧道选择的是随机临时TCP端口,所生成的公网地址会在24小时内随机变化,对于需要长期远程的用户来讲不方便。...5.3 测试固定公网地址远程 打开VS Code,选择添加一个ssh连接 使用保留的tcp地址连接 刷新一下 刷新出来地址,点击右边小箭头”–>”连接,出现以下提示,输入yes 出现绿色信息,表示连接成功

    1.6K30

    【vscode远程开发】使用SSH远程连接服务器 「内网穿透」

    ,点击以管理员身份运行 打开之后,输入以下指令: Get-WindowsCapability -Online | ?...输入完成在右侧会显示出来刚刚添加的ssh 连接,点击 -->图标 连接,出现输入密码,输入密码即可 出现绿色标志表示连接成功 4....点击SSH TARGETS下面显示的服务器旁边的按钮进行连接操作 如左侧没有出现添加的连接,点如下按钮刷新 接着点击小箭头 --> 连接,出现选择ssh 类型,选择linux 输入参数,和密码即可远程成功...配置固定TCP端口地址 由于以上所创建的隧道选择的是随机临时TCP端口,所生成的公网地址会在24小时内随机变化,对于需要长期远程的用户来讲不方便。...5.3 测试固定公网地址远程 打开vscode,选择添加一个ssh连接 使用保留的tcp地址连接 刷新一下 刷新出来地址,点击右边小箭头”–>”连接,出现以下提示,输入yes 出现绿色信息,表示连接成功

    3.3K91

    ChatGPT协助我完成博客代码块添加复制代码和显示代码语言功能

    PS:能问出这个问题很明显我就不是搞前端的,但是这也就是为什么我觉得作为一个对前端一知半解的人也能做出一个完整项目的原因,那就是多发问,多思考。...那这个创建的元素会显示出来吗 在实现复制操作时,创建的元素并不需要显示在页面上,因此需要通过CSS样式将其隐藏起来。...完善需求 由于我想实现跟 ChatGPT 完成一样的复制代码块的效果,所以包括图标效果,于是我复制到到了 ChatGPT 的复制前的 svg 效果,但是拿不到复制后的 svg,不过这样没什么难度,直接让...请用html的svg输出一个打勾符号,类似于chatgpt代码复制后的图标 以下是一个用HTML的SVG输出的打勾符号示例: 的方法可以使用 markdown.extensions.fenced_code 来显示语言,我试了一下的确可以,但是用这个又会丢掉代码块的高亮效果,而且两个扩展都加上也没用,会让这个扩展直接失效

    2.1K10

    精灵图

    就是将几张较小的图片放在一张大图上 为什么要有精灵图?...最早的时候网速十分有限,为了提升用户体验,我们会将一张大图分解成多张小图来提高页面打开速度,但是网速得到了提升,为了能够让服务器承载更多的请求,我们要减少浏览器对服务器的请求,最直接的方式,就是将多张较小的图片放在一张大图上...1.如果我们需要的一张图片在精灵图上,必须要了解这个图片的大小以及在精灵图上的位置 比如:新浪网上的搜索按钮,首先得到它的宽高和位置 2.在页面上将这个图片显示出来,在显示的时候一定要注意我们容器的大小一定要和这个图标的大小一样...3.精灵图的大小一定要大于所有图片中最大的那个 4.完成精灵图以后一定要在精灵图下方留有足够的空隙,方便将来再次添加其它的精灵图 5.如果是页面上一个像素的背景图片不要放在精灵图上面 Iconfont...图标使用

    1.4K10

    「后端小伙伴来学前端了」CSS3伪元素选择器 ::before ::after | 记录自己的前端学习日子

    二、我们为什么要使用伪元素? H5之后,增加了很多语义化的元素进来,如nav、hader、footer这种语义化标签,让文档树更为清晰的,也能让样式和内容更好的分离。...就像如果仅仅为了画一个装饰用的三角就在 HTML 里多加一个元素,这上对于实际内容来说其实是多余的,对自动分析网页的语义也可能会产生不好的影响。...::before,在元素内部的前面插入内容。 CSS中,::before 创建一个伪元素,其将成为匹配选中的元素的第一个子元素。常通过 content 属性来为一个元素添加修饰性的内容。...如下示例: 加了之后就ok拉 before 和 盒子 和 after 之间的关系大致如下图 3.4、注意点 before和after会创建一个元素,但是创建出来的元素是属于行内元素。...,权重为1 五、伪元素实现案例 5.1、场景五:伪元素字体图标 就是做一个像element做一个这样的。

    1.9K10
    领券