社区
PowerBuilder
帖子详情
怎么实现在toolbar的第一个位置加一个图!!!
xingxing
2002-06-05 01:47:27
想在toolbar的第一个位置加一个图,怎么实现?(想powersite一样!)
...全文
33
4
打赏
收藏
怎么实现在toolbar的第一个位置加一个图!!!
想在toolbar的第一个位置加一个图,怎么实现?(想powersite一样!)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chinalht
2002-08-14
打赏
举报
回复
没见过powersite,谈谈想法
1.获得toolbar窗口的句柄,利用WINDOWS api : SetParent 把一个图片设置进去
2.作popup窗口,无标题栏,边框,放图片,使之大小合适,移动至适当位置
3.在窗口的paint事件中利用API自己在相应位置绘图,也需要获得toolbar窗口的句柄
4.增加一个菜单项,显示你的图标,但是不执行代码。隐藏菜单项显示toolbaritem
xirumin
2002-08-14
打赏
举报
回复
关注
xingxing
2002-08-14
打赏
举报
回复
我现在在上面画上了,可是它回盖住toolbar,我不想盖住,怎么办????
海洋‘s
2002-06-05
打赏
举报
回复
没有试过,可以帮你看看
VB程序设计_ActiveX控件.ppt
VB程序设计ActiveX控件使用方法、常见问题及实例代码 1、ActiveX 控件的
加
载 2、常用的ActiveX 控件文件名 ...... 1.怎样能使ActiveX控件属性可以象image控件一样直接用等号赋值? 2.如何判断用户选择的是TreeView的父节点还是子节点? 3.若要向TreeView控件动态地
加
入node,对key值该如何设置? 4.当ListView能够多选时,如何得到所选中的总行数(selected count)、
第
一个
及最后
一个
所选行(selected First ListItem(First))? 5.如何在
toolbar
控件的按钮之间
加
一个
分割符 ? 6.如何
实现
类似于显示属性的分页效果? 7.如何在StatusBar控件中增
加
一个
变量并将该变量值显示在状态栏里? ...... 30.如何在MSFlexGrid的单元格中添
加
一幅
图
片? 31.如何控制DBGrid的内容不被修改? 32.如何才能使DBGrid的前若干列固定不动? ...... 【实训10.2】 状态栏控件StatusBar的应用实例。 ......
Gif-Load-ReTry-Refresh-支持gif
图
片的Load反馈框架,只需一张gif
图
,一行代码解决初次
加
载,重试
加
载,刷新
加
载,与生命周期绑定,LeakCanary检测无内存泄漏.zip
Gif-Load-ReTry-Refresh:只需要一张Gif
图
,一行代码支持初次
加
载,重试
加
载,
加
载后再次刷新原理 :遍历View树,在Framelayout中动态插入和移除
加
载布局,与生命周期绑定,避免内存泄漏;功能 :目前支持在Activity,Fragment中使用(支持任何方式
实现
的沉浸式状态栏和透明状态栏);封装 :接口化调用,支持MVP结构中使用(View层implement LoadRetryRefreshListener接口,然后直接在Activity/Fragment传入this即可)。示例Activity中
加
载成功Activity中
加
载失败在Activity中
加
载成功,然后再次
加
载刷新在Activity中
加
载失败,然后重试
加
载,
加
载成功后刷新
加
载Fragment中
加
载成功Fragment中
加
载失败在Fragment中
加
载成功,然后再次
加
载刷新在Fragment中
加
载失败,然后重试
加
载,
加
载成功后刷新
加
载使用 初步配置引入配置属性示例代码在Activity中使用1、注册2、开始
加
载3、
加
载结果回调4、解除绑定布局代码(勿遗漏第4步,防止内存泄漏)在Fragment中使用1、注册2、开始
加
载3、
加
载结果回调4、解除绑定布局代码(勿遗漏第4步,防止内存泄漏)反馈与建议初步配置引入Step 1. Add it in your root build.gradle at the end of repositories:allprojects { repositories { ... maven { url 'https://jitpack.io' } } }Step 2. Add the dependencydependencies { compile 'com.github.NoEndToLF:Gif-Load-ReTry-Refresh:1.1.2' }配置属性方法参数作用setGifR.drawable.*
加
载页面的Gif
图
setBackgroundColorR.color.*
加
载页面整体背景颜色setBtnNormalColorR.color.*
加
载页面按钮未按下时的颜色setBtnPressedColorR.color.*
加
载页面按钮按下时的颜色setBtnBorderColorR.color.*
加
载页面按钮边框的颜色setBtnTextColorR.color.*
加
载页面按钮文字的颜色setBtnRadiusFloat
加
载页面按钮的圆角弧度setBtnTextString
加
载页面按钮的显示文字setLoadTextString正在
加
载中的提示文字setLoadAndErrorTextColorR.color.*
加
载页面的提示文字和
加
载失败提示文字的颜色示例代码,建议在 Application的 onCreate中进行初始化LoadRetryRefreshConfig config=new LoadRetryRefreshConfig(); config.setBackgroundColor(R.color.white); config.setBtnNormalColor(R.color.blue_normal); config.setBtnPressedColor(R.color.blue_press); config.setBtnBorderColor(R.color.oringe_normal); config.setBtnRadius(10f); config.setBtnText("点击重新
加
载"); config.setLoadText("测试
加
载2秒钟..."); config.setBtnTextColor(R.color.white); config.setLoadAndErrorTextColor(R.color.gray); config.setGif(R.drawable.zhufaner); LoadReTryRefreshManager.getInstance().setLoadRetryRefreshConfig(config);在 Activit中使用布局中,请在
Toolbar
下的需要
加
载的内容最外层套一层 FrameLayout(为何需要这样做),如:
Toolbar app:contentInsetStart="0dp" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:gravity="center_vertical" android:id="@ id/
toolbar
" android:background="@color/color_
toolbar
" > <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> ********************************** ********************************** 你的内容布局,如Linearlayout等 ********************************** ********************************** </FrameLayout></LinearLayout>代码中方法简介方法参数作用registerActivity,LoadRetryRefreshListener注册startLoadActivity开始
加
载unRegisterActivity解除绑定onLoadSuccessActivity,ShowRefreshViewListener关闭
加
载View和刷新时的Dialog、下拉刷新等onLoadFailed Activity,String,ShowRefreshViewListener显示
加
载失败原因,关闭
加
载View和刷新时的Dialog、下拉刷新等1、注册,一般在 onCreate中调用LoadReTryRefreshManager.getInstance().register(this, new LoadRetryRefreshListener() { @Override public void loadAndRetry() { //执行你的网络请求 //dosomething(); } @Override public void showRefreshView() { //显示你刷新时的
加
载View,如Dialog,下拉刷新等 } });2、开始
加
载,无需判断是初次
加
载还是刷新,已自动进行判断,只需要在想要
加
载或刷新的地方直接调用(
加
载失败重试
加
载已封装到 Button事件中)LoadReTryRefreshManager.getInstance().startLoad(this);3、
加
载结果回调,在你的请求成功和失败的回调中
加
入
加
载结果回调@Override public void onSuccess(Integer value) { //
加
载成功你要做的事..... //
加
载结果回调 LoadReTryRefreshManager.getInstance().onLoadSuccess(FailedActivity.this, new ShowRefreshViewListener() { @Override public void colseRefreshView() { //关闭你的刷新View,如Dialog,下拉刷新等 } }); } @Override public void onFailed(Throwable e) { //
加
载失败你要做的事..... //
加
载结果回调 LoadReTryRefreshManager.getInstance().onLoadFailed(FailedActivity.this, e.getMessage(), new ShowRefreshViewListener() { @Override public void colseRefreshView() { //关闭你的刷新View,如Dialog,下拉刷新等 } }); }4、解除绑定,可以直接写在 BaseActivity的 onDestory方法中,会自动判断然后进行解绑Override protected void onDestroy() { super.onDestroy(); LoadReTryRefreshManager.getInstance().unRegister(this); }在 Fragment中使用布局中,同 Activity中使用一致,请在
Toolbar
下的需要
加
载的内容最外层套一层 FrameLayout(为何需要这样做)代码中方法简介方法参数作用registerFragment,View,LoadRetryRefreshListener注册(View为Fragment在onCreateView中返回的View)startLoadFragment开始
加
载unRegisterFragment解除绑定onLoadSuccessFragment,ShowRefreshViewListener关闭
加
载View和刷新时的Dialog、下拉刷新等onLoadFailedFragment,String,ShowRefreshViewListener显示
加
载失败原因,关闭
加
载View和刷新时的Dialog、下拉刷新等1、注册,一般在 onCreateView中调用LoadReTryRefreshManager.getInstance().register(this, contentView,new LoadRetryRefreshListener() { @Override public void loadAndRetry() { //执行你的网络请求 //dosomething(); } @Override public void showRefreshView() { //显示你刷新时的
加
载View,如Dialog,下拉刷新等 } });2、开始
加
载,无需判断是初次
加
载还是刷新,已自动进行判断,只需要在想要
加
载或刷新的地方直接调用(
加
载失败重试
加
载已封装到 Button事件中)LoadReTryRefreshManager.getInstance().startLoad(this);3、
加
载结果回调,在你的请求成功和失败的回调中
加
入
加
载结果回调@Override public void onSuccess(Integer value) { //
加
载成功你要做的事..... //
加
载结果回调 LoadReTryRefreshManager.getInstance().onLoadSuccess(FailedActivity.this, new ShowRefreshViewListener() { @Override public void colseRefreshView() { //关闭你的刷新View,如Dialog,下拉刷新等 } }); } @Override public void onFailed(Throwable e) { //
加
载失败你要做的事..... //
加
载结果回调 LoadReTryRefreshManager.getInstance().onLoadFailed(FailedActivity.this, e.getMessage(), new ShowRefreshViewListener() { @Override public void colseRefreshView() { //关闭你的刷新View,如Dialog,下拉刷新等 } }); }4、解除绑定,可以直接写在 BaseFragment的 onDestroyView方法中,会自动判断然后进行解绑@Override public void onDestroyView() { super.onDestroyView(); LoadReTryRefreshManager.getInstance().unRegister(this); }为何必须在布局中套一层 FrameLayout目前为了在4.4,5.0,6.0,7.0及以上的版本中
实现
沉浸式状态栏或者是透明式状态栏的适配,
实现
方式主要在低版本中有所不同,有的是设置全屏然后给
Toolbar
加
一个
PaddingTop来留出StatusBar的高度,有的是设置全屏StatusBar透明,然后再动态插入
一个
大小一致的View来占位,达到设置状态栏颜色的目的,因此,如果单纯的在DecorView中来插入
加
载布局,难以控制
加
载页面的MarginTop,可能会遮盖到
Toolbar
,所以退而求其次,在布局中需要
加
载的部分包一层FrameLayout,再通过递归View树来找到需要添
加
加
载布局的地方,进行动态插入,这样就不需要处理兼容沉浸式状态栏或者是透明式状态栏的适配造成的问题(当然如果有更好的想法,强烈欢迎Issues或者邮箱建议)
toolbar
实现
沉浸式状态栏
效果
图
: 前一篇说的是三步
实现
状态栏背景颜色的修改,那样不能动态
实现
,局限性太大了。用
toolbar
就可以
实现
。现在主流APP,首页都是1个activity+多个fragment的形式,除个性中心那个页面外,其他页面都是显示状态栏的,个人中心页面都是内容填充状态栏。用上一篇的三步
实现
沉浸式状态栏没法
实现
,用
toolbar
就可以
实现
。有人说他没用过
toolbar
,懒得去尝试,其实
toolbar
IE
Toolbar
的
实现
思路
实现
思路思路: 在
实现
之前,需要先了解IE下
ToolBar
的工作原理,关于这部分内容这里就不多介绍,http://www.vckbase.com/上有很多介绍,里面列举了一些如何创建基本的IE
ToolBar
的方法及原理。了解创建原理后,按照里面的套路,就可以亦步亦趋的生成基本框架。 IE的
ToolBar
的开发,实质上也就是
一个
一般的
ToolBar
开发,为了
vue+openlayers在地
图
添
加
图
标
参考帖子:https://blog.csdn.net/feiteyizu/article/details/81133845 有两种方式,介绍第二种,第一种太简单,,而且不能动态增
加
dom元素从而添
加
图
标,也就是说,如果使用上述帖子的第一种方式,你需要
加
几个
图
标,就需要提前预定好多少个
图
标对应的dom元素,而且未被使用的
图
标会显示在地
图
下面,地
图
会被撑变形,需求如果只是添
加
一两个
图
标,且是固定的,可...
PowerBuilder
1,075
社区成员
66,437
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章