精华内容
下载资源
问答
  • taro 动态设置标题栏、标题栏动画

    千次阅读 2020-09-24 15:12:05
    设置标题栏文字 Taro.setNavigationBarTitle({title:'xx'}) 设置标题栏背景色 Taro.setNavigationBarColor({ backgroundColor:'16进制颜色', frontColor:'#ffffff / #000000' 前景颜色值,包括按钮、标题、...
    导航栏文字旁显示加载菊花图
    	Taro.showNavigationBarLoading()
    	Taro.hideNavigationBarLoading()
    
    设置标题栏文字	
    	Taro.setNavigationBarTitle({title:'xx'})
    
    设置标题栏背景色
    	Taro.setNavigationBarColor({
    		backgroundColor:'16进制颜色',
    		frontColor:'#ffffff / #000000'	 前景颜色值,包括按钮、标题、状态栏的颜色
    		animation:{
    			duration:'动画时间',
    			timingFunc:'linear'、'easeIn'、'easeOut'、'easeInOut'
    		}
    	})
    
    展开全文
  • 设置标题栏 标题栏window 在app.json文件里面,通过window对象里面的属性进行设置 示例: app.json: 运行: 设置导航栏 导航栏TabBar 如果我们的小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以...
  • Recyclerview滑动设置标题栏渐变效果

    千次阅读 2018-12-26 23:12:43
    最近有这么个需求,通过Recyclerview滑动监听来设置标题栏渐变,整个界面是一个RecyclerView,一开始是没有标题栏的,向上滑动到一定程度标题栏渐变。需求是不难,但是我想记录一下这个基本的过程,有人需要了可以...

     

    前言

    最近有这么个需求,通过Recyclerview滑动监听来设置标题栏渐变,整个界面是一个RecyclerView,一开始是没有标题栏的,向上滑动到一定程度标题栏渐变。需求是不难,但是我想记录一下这个基本的过程,有人需要了可以快速拿走,如果帮到你了,点个赞留个言都行,认可一下。

    先上几张图醒醒脑,哈哈哈~

    one:

    two:

    three:

    那么,整体思路就是往上滑动第一个Item的一半高度的时候,显示标题栏,然后从剩下一半的高度开始,透明度从0渐变到1,一直到第一个Item完全滚动到外面,完全显示白色的标题栏。

    之前写过ScrollView的渐变,监听滑动那个方法api23,android 6.0以上才能用,还得自定义一个ScrollView,然后重写ScrollView的onScrollChanged方法自定义一个回调,完后通过这个y坐标,去监听就可以搞定,网上资源不少,写就ok啦

    // 自定义的ScrollView的回调
    svMain.setScrollViewListener(new ObservableScrollView.ScrollViewListener() {
                @Override
                public void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy) {
                    
                }
                
                // 这个方法自定义的监听回调,判断是否是滑动停止
                @Override
                public void onScrollFinish(ObservableScrollView scrollView, int x, int y) {
    
                }
            });

    那么好,RecyclerView也实现滑动监听呢,也不想自定义重写了,RecyclerView有这么一个方法,提供dx,dy两个偏移量,虽然没有提供坐标用起来那么方便,但是也可以实现:

    rvMain.addOnScrollListener(new RecyclerView.OnScrollListener() {
                @Override
                public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                    
                }
    
                @Override
                public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                    
                }
            });

    看了很多网友写的方法,我自己总结一下,写了两种:

    1、声明一个全局变量,用来记录坐标,然后去取第一个可见的Item的位置,如果是下标为0的也就是说是RecyclerView的第一项,去设置渐变,直接上代码:

    // topbar是自定义的标题栏
    rvMain.addOnScrollListener(new RecyclerView.OnScrollListener() {
                @Override
                public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                    
                }
    
                @Override
                public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                    // 记录滑动的坐标
                    distanceY += dy;
                    LinearLayoutManager layoutManager = (LinearLayoutManager) rvMain.getLayoutManager();
                    // 第一个可见Item的位置
                    int position = layoutManager.findFirstVisibleItemPosition();
                    // 是第一项才去渐变
                    if (position == 0) {
                        // 注意此操作如果第一项划出屏幕外,拿到的是空的,所以必须是position是0的时候才能调用
                        View firstView = layoutManager.findViewByPosition(position);
                        // 第一项Item的高度
                        int firstHeight = firstView.getHeight();
                        // 要在它滑到二分之一的时候去渐变
                        int changeHeight = firstHeight / 2;
                        // 小于头部高度一半隐藏标题栏
                        if (distanceY <= changeHeight) {
                            topbar.setVisibility(View.GONE);
                        // 渐变的区域,头部从中间到底部的距离
                        } else {
                            topbar.setVisibility(View.VISIBLE);
                            // 设置了一条分割线,渐变的时候分割线先GONE掉,要不不好看
                            topbar.getViewGrayLine().setVisibility(View.GONE);
                            // 从高度的一半开始算透明度,也就是说移动到头部Item的中部,透明度从0开始计算
                            float scale = (float) (distanceY - changeHeight) / changeHeight;
                            topbar.setAlpha(scale);
                        }
                    // 其他的时候就设置都可见,透明度是1
                    } else {
                        topbar.setVisibility(View.VISIBLE);
                        topbar.getViewGrayLine().setVisibility(View.VISIBLE);
                        topbar.setAlpha(1);
                    }
                }
            });
    
    
    // 有几个坑要踩,因为我们全局用一个distanceY记录了坐标
    1、如果你的recyclerView会有代码调用的scrollTo,scrollToPosition类似的方法,记得处理好你的distanceY
    2、我这里是有一个点击底部的导航栏去回到顶部并刷新界面的操作:rvMain.scrollToPosition(0),所以回到顶部必须把distanceY置为0,并且topbar要GONE掉
    
    

    2、通过getTop()方法,得到距离顶部的距离,然后去设置渐变,直接上代码:

    // topbar是自定义的标题栏
    rvDynamic.addOnScrollListener(new RecyclerView.OnScrollListener() {
                @Override
                public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    
                }
    
                @Override
                public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                    LinearLayoutManager layoutManager = (LinearLayoutManager) rvDynamic.getLayoutManager();
                    // 第一个可见Item的位置
                    int position = layoutManager.findFirstVisibleItemPosition();
                    // 是第一项才去渐变
                    if (position == 0) {
                        // 注意此操作如果第一项划出屏幕外,拿到的是空的,所以必须是position是0的时候才能调用
                        View firstView = layoutManager.findViewByPosition(position);
                        // 第一项Item的高度
                        int firstHeight = firstView.getHeight();
                        // 距离顶部的距离,是负数,也就是说-top就是它向上滑动的距离
                        int scrollY = -firstView.getTop();
                        // 要在它滑到二分之一的时候去渐变
                        int changeHeight = firstHeight / 2;
                        // 小于头部高度一半隐藏标题栏
                        if (scrollY <= changeHeight) {
                            topbar.setVisibility(View.GONE);
                        } else {
                            topbar.setVisibility(View.VISIBLE);
                            // 设置了一条分割线,渐变的时候分割线先GONE掉,要不不好看
                            topbar.getViewGrayLine().setVisibility(View.GONE);
                            // 从高度的一半开始算透明度,也就是说移动到头部Item的中部,透明度从0开始计算
                            float alpha = (float)(scrollY - changeHeight) / changeHeight;
                            topbar.setAlpha(alpha);
                        }
                    // 其他的时候就设置都可见,透明度是1
                    } else {
                        topbar.setVisibility(View.VISIBLE);
                        topbar.getViewGrayLine().setVisibility(View.VISIBLE);
                        topbar.setAlpha(1);
                    }
                }
            });
    
    // 这个也是上面说的那个坑:
    如果你的recyclerView会有代码调用的scrollTo(),scrollToPosition()类似的方法,记得把标题栏GONE掉

    相比来说我更想用第二种方法,不过两个方法都可以的。

    哈哈哈说点题外话:

    // 我发现有的网友在用setVisibility()和setAlpha()的时候会先去判断一下,害怕重复调用方法,类似这种操作
    if (topbar.getVisibility() == View.GONE) {
            topbar.setVisibility(View.VISIBLE);
    }
        // 其实是没必要的,我们拉一下源码,google这么强大,都是有做判断的,如果相同就直接return了
        @RemotableViewMethod
        public void setVisibility(@Visibility int visibility) {
            setFlags(visibility, VISIBILITY_MASK);
        }
    
    
        void setFlags(int flags, int mask) {
            final boolean accessibilityEnabled =
                    AccessibilityManager.getInstance(mContext).isEnabled();
            final boolean oldIncludeForAccessibility = accessibilityEnabled && includeForAccessibility();
    
            int old = mViewFlags;
            mViewFlags = (mViewFlags & ~mask) | (flags & mask);
    
            int changed = mViewFlags ^ old;
            if (changed == 0) {
                return;
            }
            ...
            ...
            ...
        }
    
    
        public void setAlpha(@FloatRange(from=0.0, to=1.0) float alpha) {
            ensureTransformationInfo();
            if (mTransformationInfo.mAlpha != alpha) {
                // Report visibility changes, which can affect children, to accessibility
                if ((alpha == 0) ^ (mTransformationInfo.mAlpha == 0)) {
                    notifySubtreeAccessibilityStateChangedIfNeeded();
                }
                mTransformationInfo.mAlpha = alpha;
                if (onSetAlpha((int) (alpha * 255))) {
                    mPrivateFlags |= PFLAG_ALPHA_SET;
                    // subclass is handling alpha - don't optimize rendering cache invalidation
                    invalidateParentCaches();
                    invalidate(true);
                } else {
                    mPrivateFlags &= ~PFLAG_ALPHA_SET;
                    invalidateViewProperty(true, false);
                    mRenderNode.setAlpha(getFinalAlpha());
                }
            }
        }

    最后

    最近一直都好忙好忙,终于抽出点时间写了一篇博客。

    我写的挺详细的,注释也写的很认真,到最后来我又梳理了一下代码。

    希望后面有相同问题的人,能少走弯路,尽快的完成任务。

    如果你们有什么疑问或者问题,也可以私聊我,很乐意为你们解答,小弟水平不高,尽我所能。

    如果这篇博客对你有帮助,希望你不要吝啬你的点赞和留言,你们的鼓励也是我创作的动力!

    展开全文
  • Altium designer 9如何设置标题栏

    千次阅读 2018-10-18 16:26:12
    Altium designer 9如何设置标题栏 一、修改设置 1.执行Design-Document Option,打开文档属性对话框,设置其中title等参数。 2.执行Place-Text String,按TAB键,将Text属性中设置为"=title"(不加双引号...

    Altium designer 9如何设置标题栏

    一、修改设置
    1.执行Design-Document Option,打开文档属性对话框,设置其中title等参数。
    2.执行Place-Text String,按TAB键,将Text属性中设置为"=title"(不加双引号),并将Text String放在标题栏的title的右侧。其他同设置,当输入"="后,会自动提示。
    3.执行Tool-Schematic Preference,切换到Graphic Editing,选中其中的Convert Special Strings。单击OK后,你会发现见面的标题栏中的内容都显示出来了,如果没有设置的参数以*号表示出来

    二、title参数含义
    Currenttime:当前时间
    currentdate:当前日期
    Time:时间
    Date:日期
    DocumentFullPathAndName:带路径的文件名
    DocumentName:文件名
    ModifedDate:修改日期
    ApprovedBy:批准人
    CheckedBy:检查人员
    Author:设计者
    CompanyName:公司名称
    DrawnBY:绘图者
    Engineer:工程师
    Organization:组织
    Address1:地址1
    Address2:地址2
    Address3:地址3
    Address4:地址4
    Title:标题
    DocumentNumber:文档编号
    Recision:版本号
    SheetNumber:图纸编号
    SheetTotal:图纸总数
    Rule:规则
    ImagePath:图片路径。

    展开全文
  • duilib设置标题栏区域调整窗口大小

    千次阅读 2019-03-14 19:15:37
    1. 怎么设置标题栏区域? 只需在XML的Window节点加上caption="0,0,0,32"即可,其中32是指从窗口顶部开始,往下32个像素的区域,都设置成标题栏,这样就可以点击标题栏拖动窗口,或者双击最大化了。 &...

    1. 怎么设置标题栏区域?

    只需在XML的Window节点加上caption="0,0,0,32"即可,其中32是指从窗口顶部开始,往下32个像素的区域,都设置成标题栏,这样就可以点击标题栏拖动窗口,或者双击最大化了。

    <Window size="800,600" caption="0,0,0,32" >
    

    不过可以发现有些Demo的标题栏文字区域不能拖动,比如360Demo,那是因为它的文字区域用的是Text,这里必须换成Label,或者将控件禁用(添加属性 enable=“false”),否则点击文字区域无法移动标题栏。

    完整代码请参见【2013 duilib入门简明教程 – 完整的自绘标题栏(8)】

    2. 怎么让窗口大小可调整?

    只需在XML的Window节点加上sizebox="4,4,4,4"即可,其中4就是指鼠标离边框还有4个像素的时候,鼠标就会变成箭头形状,这时就可以拖拽边框来改变大小,亲们可以改成40试试。如果再加上mininfo="600,400"属性就可以限制窗口的最小尺寸了,这样窗口能够被调整的最小尺寸就是600*400。

    完整代码请参见【2013 duilib入门简明教程 – 完整的自绘标题栏(8)】

    3. 怎么屏蔽回车键、 Esc键?

    如果按照最前面说的,主窗口继承自WindowImplBase,那么就已经屏蔽了回车键。如果想自行处理,请在子类响应虚函数MessageHandler。

    完整代码请参见【2013 duilib入门简明教程 – 完整的自绘标题栏(8)】

    展开全文
  • Html 设置标题栏顶部固定-前端入门

    千次阅读 2020-07-03 15:15:49
    如何设置标题栏一直置顶固定显示? 只需要给标题栏所在的容器,以下设置: position: fixed; top: 0px; left: 0px; width: 100%; 位置固定在左上角,同时宽度填充满。 以下是Position的几个值: fixed 生成绝对定位...
  • 如图想要设置1、2、3的不同颜色 ui->setupUi(this);... //标题栏红色背景,tab选中蓝色,未选中灰色 ui->tabWidget->setStyleSheet("QTabWidget#tabWidget{background-color:rgb(255,0,0);}\ .
  • 设置窗口标题的方法: w.setWindowTitle(QObject::tr("关机程序")); //设置窗口的标题。 w.setWindowFlags(Qt::WindowCloseButtonHint); //设置窗体的样式。 更多窗体样式,可以参见Qt ...
  • 如果我们没有设置标题栏名称,会默认为我们工程的名字。比如像下面这样,当然,这样非常不友好。 所以,我们需要调整成自己所需要的名称,我们需要“打开该cpp配套的资源文件”,当然,打开方式有点...
  • MFC 设置标题栏

    千次阅读 2016-12-28 13:24:35
    public: void SetTitle(LPCTSTR lpszTitle); void CUMLApplication1Doc::SetTitle(LPCTSTR lpszTitle) { CDocument::SetTitle(L"UML类图编辑系统"); }
  • 页面整个布局大体上是ScrollView里面包含了一个ImageView和RecyclerView,所以先得到ImageView的高度,当ScrollView向上滑动时,设置标题栏的背景色、文字颜色,当超过ImageView的高度时,设置其背景为白色,字体为...
  • 例1:实现标题栏动态显示系统时间。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <title>
  • Android设置标题栏图标

    千次阅读 2013-07-18 11:28:21
      ...一般Android界面里的默认标题栏上左边是有Logo的,且和整个app的logo一样,如果要修改该标题栏图标,则需加以下代码:   getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_I
  • Android设置标题栏透明

    千次阅读 2017-05-28 18:27:02
    在res\values\styles.xml 的中添加如下两段代码即可 <item name="android:windowTranslucentStatus">true <item name="android:windowTranslucentNavigation">true</item>
  • 标题栏图标、任务栏图标设置(只需3步) 1.建议准备正方形png图像,带透明通道。 2.qrc文件添加名称。 3.窗口属性中选择图片。 二. 启动图标设置(只要2步) 1.准备.ico格式图片,建议32*32大小。 2.在vs...
  • 【转】Altium designer summer 09如何设置标题栏 一、自定义原理图模板(本步没有问题可省略) --------》使用系统默认的模板,按理说应该能显示,但事实上,无论protel 99se ,protel 2004,还是AD6.X的都是不能显示...
  • qt 设置标题栏右上角的x号隐藏

    千次阅读 2018-01-09 16:11:45
    使用setWindowFlags(); this->setWindowFlags(Qt::Window|Qt::WindowTitleHint); 意思是设置window样式,显示window和标题栏
  • 首先,将项目info选项中的最后...,然后,在appdelegate中设置 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [UIApplication sharedApplication
  • 去掉标题栏和信息栏的方法有两个,一个是在java代码里修改,一个是修改AndroidManifest.xml。如果修改java代码,会先显示再消失,且必须添加在setContentView(R.layout.main) 之前。 java方式: //取消标题栏
  • tabBar配置好以后,发现每个页面的标题栏的文字都是一样,这样不符合需求哇。 开始把APP.JSON里面的window相关内容复制到对应页面,然后在修改文字标题, 但是没有效果呀。 经过一番尝试查找测试。。。 原来是在...
  • android设置标题栏按钮和文本

    千次阅读 2014-05-28 11:21:04
    android:text="我的自定义标题栏" /> android:id="@+id/imageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" android:layout_...
  • Putty -- 登陆后设置标题栏显示IP

    千次阅读 2016-05-25 14:09:50
    所以把IP显示到标题上,就方便了很多了。在网上找到这种方法,不错,不错,呵呵。记录一下,方便以后使用。 把下面的几行脚本追加到 ~/.bashrc(对应 root 用户,也就是 /root/.bashrc 文件)自动脚本的最后。 #...
  • Android如何设置标题栏的高度

    万次阅读 2012-11-25 18:17:14
    新建一个styles.xml 1 xmlversion="1.0" encoding="utf-8"?> 2 resources> ... style name="titlebarstyle"parent="Android:Theme">
  • 在这里可以根据距离在指定的位置设置想要的效果。 其中 float scale = ( float ) getScollYDistance() / 400 ; float alpha = ( 255 * scale ); // 只是layout背景透明(仿知乎滑动效果) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 198,633
精华内容 79,453
关键字:

如何设置标题栏