Activity_合理使用主题

  • 必须知道
    默认的程序Application使用的是AppTheme:
s <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

这里用的是parent:Theme.AppCompat.Light.NoActionBar没有ActionBar并且是淡色主题,就是界面的主题颜色是淡色,陪衬颜色是深色。与之对应的是
Theme.AppCompat.NoAction 深颜色主题,陪衬的是浅色的。

  • 实现当前Activity的半透明/透明效果
    第一步:在res/values/styles.xml文件下面,建立如下所示代码:
<style name="myTransparent" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
    </style>
/**这里需要注意的是,必须要有这个parent 继承自AppCompat系列,要不然程序就会出错*/

第二步:
看上面,可以发现需要自己的颜色color/transparent

<color name="transparent">#50000000</color>  //比如这个数字,设置出来显示的是灰但是可以看见下层的activity
如果用#00000000则是完全透明了,调制透明主要是通过前面两位,从00~90这个可控范围之间。

第三步:
在清单文件中,对需要的activity配置android:theme:这个属性。
第四步:
在需要的activity的onCreate()方法中,配置:

        setTheme(R.style.Transparent);   //使用这个主题
        setContentView(R.layout.transparent);  //给其设置布局文件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容