美文网首页
android window的Style关键属性

android window的Style关键属性

作者: 紫阚 | 来源:发表于2018-08-02 09:57 被阅读26次

    最近在整理项目中的主题样式,下面是过程中遇到的一些属性,记录下来备忘。

    继承

    style的继承有两种写法,优先级从高到低

    1. 通过parent显示指定
    2. 通过父style名.子style名

    两者同时作用在一个style上,只有parent会生效
    比如下面的代码,当parent被指定时,父类AppTheme_Base的属性就无法被继承了。

      <style name="AppTheme_Base" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:backgroundDimEnabled">true</item>
            <item name="android:windowNoTitle">true</item>
        </style>
    
        <style name="AppTheme_Base.alpha" parent="AppTheme">
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowBackground">@android:color/transparent</item>
        </style>
    

    style属性

    demo布局文件如下:
    不需要外层再套个MATCH_PARENT的布局

    <?xml version="1.0" encoding="utf-8"?>
        <TextView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_gravity="bottom|center_horizontal"
            android:background="@color/colorPrimaryDark"
            android:gravity="center"
            android:text="hello world"
            android:textColor="#ffffff"/>
    
    windowIsTranslucent

    是否打开背景透明开关(需配合windowBackground)

            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowBackground">@android:color/transparent</item>
    

    windowIsTranslucent设置为true时,从A 跳到B ,A的onStop不会被执行。

    backgroundDimEnabled

    悬浮窗背景是否变暗,我们就不用在布局文件里面手动写半透明的黑色了。


    未开启backgroundDimEnabled.png 开启backgroundDimEnabled.png

    windowIsFloating

    窗体是悬浮。开启后
    1.xml的外层布局,如果宽高有MATCH_PARENT,则 变成了WRAP_CONTENT
    2.如果前个页面是全屏显示的<item name="android:windowFullscreen">true</item>,那么此页面不设置FullScreen属性也不会出现状态栏

    开启windowIsFloating.png

    因此该属性不常用,仅在一些透明页面(路由分发、权限请求)、或者前一个页面是FullScreen模式下,为了样式好看点,而去使用。

    相关文章

      网友评论

          本文标题:android window的Style关键属性

          本文链接:https://www.haomeiwen.com/subject/aeohvftx.html